import { PeopleDeprovisionPlanData, PeopleDriftFindingData, PeopleExternalBindingData, PeopleProviderConfigData, PeopleProvisioningItemData } from './ct.types'; /** One connector-truth capability entry (PIP-004 Track C) — the * register drawer pre-checks these read-only; downgrades only. */ export interface PeopleProviderTypeCapability { support: 'supported' | 'unsupported' | 'manual' | 'partial'; executionMode?: string; verificationCapability?: string; knownLimitation?: string; } /** `GET /api/v1/people/providers/types` entry — every offered type * resolves to a connector module (no fictional options). */ export interface PeopleProviderType { providerType: PeopleProviderConfigData['providerType']; capabilities: Record; } export interface PeopleProviderTypes { types: PeopleProviderType[]; } /** Last 10 probe executions, newest first. Server-truncated. */ export interface PeopleProviderProbeHistoryEntry { at: string; status: 'completed' | 'failed' | 'in_progress'; durationMs: number; error?: string | null; } /** Path segment = business `providerKey` (not the content uuid). */ export interface PeopleProviderHealth { providerKey: string; providerType: PeopleProviderConfigData['providerType']; state: PeopleProviderConfigData['state']; capabilities: Record; probeState: NonNullable; probeHistory: PeopleProviderProbeHistoryEntry[]; openFindings: Partial>; healthWindowMinutes: number; } /** Query for `GET /api/v1/people/provisioning/queue`. */ export interface PeopleProvisionQueueQuery { /** provider_config uuid. */ provider?: string; /** employmentRef. */ employment?: string; /** item state filter. */ state?: string; } /** Heterogeneous list discriminated by `kind`. */ export type PeopleProvisionQueueEntry = { kind: 'item'; ref: string; providerRef: string; employmentRef: string; resourceType: string; resourceKey: string; state: PeopleProvisioningItemData['state']; attempt: NonNullable; commandResult: PeopleProvisioningItemData['commandResult'] | null; securityOutcome: PeopleProvisioningItemData['securityOutcome']; aggregateResult: PeopleProvisioningItemData['aggregateResult']; lastError?: string; } | { kind: 'milestone'; ref: string; employmentRef: string; milestoneKey: NonNullable[number]['milestoneKey']>; dueAt: string; state: NonNullable[number]['status']>; sourcePlanVersion: number; requiredOutcomesResult?: Record; } | { kind: 'binding'; ref: string; providerRef: string; canonicalPersonRef: string; state: PeopleExternalBindingData['state']; }; export interface PeopleProvisionQueue { count: number; items: PeopleProvisionQueueEntry[]; } //# sourceMappingURL=projections.d.ts.map