import type { SqliteDatabase } from '../db/adapter.js'; import type { JsonObject } from '../ledger/types.js'; import type { ResolvedProjectWorkspace } from '../memory/workspaces.js'; export interface ProjectFingerprint { repositoryId: string; languages: string[]; frameworks: Array<{ name: string; version?: string; }>; databases: string[]; runtimes: string[]; tools: string[]; packages: Array<{ name: string; version?: string; }>; manifestDigest: string; } export interface ProjectManifestSnapshot { readonly repositoryId: string; readonly manifestDigest: string; } export declare const PROJECT_MANIFEST_BINDING_METADATA_KEY: "kiokukoProjectManifestBinding"; export declare const PROJECT_MANIFEST_BINDING_VERSION: 1; export declare function captureProjectManifestSnapshot(project: Pick): ProjectManifestSnapshot; export declare function computeProjectFingerprint(snapshot: ProjectManifestSnapshot): ProjectFingerprint; export declare function bindProjectManifestSnapshot(metadata: JsonObject, project: Pick, snapshot: ProjectManifestSnapshot): JsonObject; export declare function assertProjectManifestSnapshotBinding(metadata: JsonObject, project: Pick, snapshot: ProjectManifestSnapshot): void; export declare function resolveProjectFingerprint(database: SqliteDatabase, project: ResolvedProjectWorkspace, snapshot: ProjectManifestSnapshot, options?: { readOnly?: boolean; }): ProjectFingerprint; //# sourceMappingURL=project-fingerprint.d.ts.map