import type { DaemonSchedulerCounts } from "./daemon-job-scheduler.js"; import type { DaemonWorkerCounts } from "./daemon-worker-pool.js"; import type { RuntimeCausalContext } from "./runtime-causal-context.js"; import { type ResolvedWorkspace, type WorkspaceBindRequest, type WorkspaceCapabilityProfile, type WorkspaceStatus } from "./workspace-router.js"; export type { AuthorizedWorkspaceRecord, AuthorizedWorkspaceView, DaemonControlPlaneOptions, DaemonMonitorCounts, DaemonRuntimeDescriptor, DaemonSessionView, DaemonStatusView, SharedAttachSource, WorkspaceAuthorizeRequest, WorkspaceAuthorizeResult, WorkspaceRegistryObservationResult, WorkspaceRevokeResult, } from "./control-plane/types.js"; import type { AuthorizedWorkspaceRecord, AuthorizedWorkspaceView, DaemonControlPlaneOptions, DaemonMonitorCounts, DaemonRuntimeDescriptor, DaemonSessionView, DaemonStatusView, SharedAttachSource, WorkspaceAuthorizeRequest, WorkspaceAuthorizeResult, WorkspaceRevokeResult } from "./control-plane/types.js"; export declare class DaemonControlPlane { private readonly options; private readonly statePath; private readonly authorizedWorkspaces; private readonly transports; private loadPromise; constructor(options: DaemonControlPlaneOptions); initialize(): Promise; registerTransport(sessionId: string, getWorkspaceStatus: () => WorkspaceStatus, getRuntimeCausalContext: () => RuntimeCausalContext | null): void; touchTransport(sessionId: string): void; unregisterTransport(sessionId: string): void; resolveSharedAttachSource(input: { readonly sessionId: string; readonly repoId: string; readonly worktreeId: string; }): SharedAttachSource | null; authorizeWorkspace(request: WorkspaceAuthorizeRequest): Promise; revokeWorkspace(request: WorkspaceBindRequest): Promise; getCapabilityProfile(resolved: ResolvedWorkspace): Promise; noteBound(resolved: ResolvedWorkspace): Promise; listAuthorizedWorkspaces(): Promise; listAuthorizedWorkspaceRecords(): Promise; getAuthorizedWorkspace(request: WorkspaceBindRequest): Promise; getAuthorizedWorkspaceForRepo(repoId: string, preferredWorktreeRoot?: string): Promise; listTransports(): readonly DaemonSessionView[]; getStatus(runtime: DaemonRuntimeDescriptor, monitorCounts: DaemonMonitorCounts | undefined, schedulerCounts: DaemonSchedulerCounts | undefined, workerCounts: DaemonWorkerCounts): DaemonStatusView; private ensureLoaded; private persist; private observeAuthorizedWorkspace; private activeTransportsFor; } //# sourceMappingURL=daemon-control-plane.d.ts.map