import { type OnboardingWorkspaceRecord } from './onboardingWorkspace.js'; export interface RepositoryRelayRegistration { workspaceId: string; policyPath: string; } export type RepositoryRelayStage = 'policy_verification' | 'trajectory_recovery' | 'evidence_sync' | 'pending_capsule_sync' | 'evidence_request' | 'task_poll' | 'worker_run'; export type RepositoryRelayFailureCategory = 'policy_boundary' | 'retention_not_ready' | 'policy_invalid' | 'unexpected'; interface Observation { workspaceId: string | null; code: string; stage?: RepositoryRelayStage; category?: RepositoryRelayFailureCategory; } export declare function withRepositoryRelayStage(stage: RepositoryRelayStage, operation: () => Promise): Promise; export declare function currentRepositoryRelayFailure(input: { receipt: unknown; organizationId: string; deviceId: string; workspaceId: string; pid: number; relayPidMtimeMs: number | null; relayPidCtimeMs: number | null; lastSuccessfulPollAt: string | null; now?: number; }): { at: string; stage: unknown; category: unknown; } | null; export declare function selectRepositoryRelayRegistrations(records: readonly T[], enrollment: { organizationId: string; deviceId: string; }, readPolicy: (path: string) => Promise<{ organizationId: string; serverAuthorization?: { workspaceId: string; }; }>): Promise; export declare function repositoryRelayObservationReady(input: { observation: unknown; workspaceId: string; version: string; pid: number; now?: number; }): boolean; export declare function serializeRelayWork(): (operation: () => Promise) => Promise; export declare function waitForRelayRefresh(ms: number, signal: AbortSignal): Promise; export declare function runRegisteredRepositoryRelays(input: { signal: AbortSignal; list: () => Promise; run: (registration: RepositoryRelayRegistration, signal: AbortSignal) => Promise; observe?: (observation: Observation) => void | Promise; wait?: (ms: number, signal: AbortSignal) => Promise; now?: () => number; }): Promise; export {}; //# sourceMappingURL=repositoryRelaySupervisor.d.ts.map