export interface ProjectIdentityOptions { readonly runGit?: (projectRoot: string, args: readonly string[]) => string; } /** Share only this request's observations; a later request always re-reads Git. */ export declare function withProjectIdentityScope(operation: () => T): T; /** * Resolve an identity that survives a worktree, directory move, or fresh clone. * A configured origin is preferred; the shared Git directory and path are only * fallbacks for repositories without a remote. */ export declare function resolveProjectIdentity(projectRoot: string, options?: ProjectIdentityOptions): string; export declare function stableProjectId(identity: string): string; export declare function resolveStableProjectId(projectRoot: string, options?: ProjectIdentityOptions): string; export declare function resolveProjectName(projectRoot: string, options?: ProjectIdentityOptions): string; //# sourceMappingURL=project-identity.d.ts.map