import type { SqliteDatabase } from '../db/adapter.js'; export interface RepositoryRegistration { repositoryId: string; workspace: string; displayName: string; canonicalRoot: string; remoteFingerprint: string | null; bindingSchemaVersion: number; agentTemplateVersion: number; /** Exact current owner required before moving an existing canonical root. */ rebindFrom?: { repositoryId: string; workspace: string; }; now?: string; } export interface RegistrationResult { created: boolean; repositoryId: string; workspace: string; canonicalRoot: string; } export interface RepositoryLocation extends Record { repositoryId: string; canonicalRoot: string; } export declare function listRepositoryLocations(database: SqliteDatabase): RepositoryLocation[]; export declare function findMissingRepositoryLocations(database: SqliteDatabase): RepositoryLocation[]; /** Remove only confirmed location rows whose roots are still absent. */ export declare function removeMissingRepositoryLocations(database: SqliteDatabase, candidates: readonly RepositoryLocation[]): number; export declare function registerRepositoryAndLocation(database: SqliteDatabase, registration: RepositoryRegistration): RegistrationResult; //# sourceMappingURL=binding.d.ts.map