export type HealthResponse = {
  status: string;
  service: string;
  version: string;
};

export type CapabilitiesResponse = {
  service: string;
  version: string;
  phase: string;
  commercial_product: string;
  features: Record<string, boolean>;
  independence?: Record<string, unknown>;
};

export type MetricsResponse = {
  service: string;
  version: string;
  phase: string;
  metrics: Record<string, string | number>;
  note?: string;
};

export type PermissionsCatalogResponse = {
  prefix: string;
  prefixes: string[];
  permissions: string[];
  count: number;
};

export type ListParams = Record<string, string | number | boolean | undefined | null>;

export type PaginatedList<T> = {
  items: T[];
  total: number;
  page: number;
  page_size: number;
};

export type DriverListResponse = {
  items: Record<string, unknown>[];
  total: number;
  page: number;
  page_size: number;
};

export type DeliveryPortalId = "operations" | "admin";

export type PhaseGateConfig = {
  feature: string;
  phase: string;
  title: string;
  description: string;
};
