import type { AnalyticsEvent } from "../shared/types.js"; import type { EventStore } from "./collector/store.js"; import type { StudioWorkspacePreferenceStore } from "./studio-workspace-preferences.js"; /** Recognize a completed scaffold, not a request, log line, or failed result. */ export declare function scaffoldCompletion(event: AnalyticsEvent): { dir: string; targetDir: string; } | null; interface Creator { projectId: string; cwd: string; } export interface CreatedAgentRegistrationOptions { preferences: StudioWorkspacePreferenceStore; events: EventStore; /** Revalidate the server-owned session/principal, and live runtime if given. */ authorize: (event: AnalyticsEvent, runtimeEpoch?: string) => Promise; /** Null means unclaimed; a foreign project must never be absorbed. */ projectForPath: (path: string) => Promise; scan: (path: string) => Promise; watch: (path: string) => void; } /** Successful creation -> durable ownership -> exact scan -> live observation. */ export declare class CreatedAgentRegistration { private readonly options; private queue; private closed; private observed; constructor(options: CreatedAgentRegistrationOptions); onEventPersisted(event: AnalyticsEvent, runtimeEpoch?: string): Promise; /** Backfill only recorded successful creations, never infer from siblings. */ recover(sessionIds: readonly string[]): Promise; close(): Promise; } export {}; //# sourceMappingURL=created-agent-registration.d.ts.map