export type ProjectKnowledgeRecordType = 'topology' | 'fact' | 'dependency' | 'decision' | 'pattern' | 'procedure' | 'constraint' | 'failure-resolution'; export type ProjectKnowledgeRecordFamily = 'project-model' | 'project-policy'; export type ProjectKnowledgeRecordState = 'trial' | 'proven' | 'enforced' | 'superseded'; export type ProjectKnowledgeRecordAuthority = 'automatic' | 'user' | 'repository'; export type ProjectKnowledgeRecordRelationType = 'contains' | 'depends-on' | 'consumes' | 'registers' | 'propagates-to' | 'generated-by' | 'validated-by' | 'supersedes'; export interface ProjectKnowledgeRecordSource { readonly source: string; readonly anchor?: string; readonly lineStart?: number; readonly lineEnd?: number; readonly evidence?: string; } export interface ProjectKnowledgeRecordSourceVersion { readonly source: string; readonly size: number; readonly modifiedAt: number; /** Full source content digest used for freshness, independent of mtime. */ readonly digest?: string; } export interface ProjectKnowledgeRecordConclusion { readonly text: string; readonly sources: readonly ProjectKnowledgeRecordSource[]; } export interface ProjectKnowledgeRecordRelation { readonly type: ProjectKnowledgeRecordRelationType; readonly targetId: string; readonly sources: readonly ProjectKnowledgeRecordSource[]; } export interface ProjectKnowledgeRecordVerification { readonly command: string; readonly expected?: string; } export interface ProjectKnowledgeRecord { readonly id: string; readonly projectId: string; readonly type: ProjectKnowledgeRecordType; readonly state: ProjectKnowledgeRecordState; readonly authority: ProjectKnowledgeRecordAuthority; readonly title: string; readonly summary: string; readonly applicablePaths: readonly string[]; readonly operations: readonly string[]; readonly phases?: readonly string[]; readonly conclusions: readonly ProjectKnowledgeRecordConclusion[]; readonly relations: readonly ProjectKnowledgeRecordRelation[]; readonly verification: readonly ProjectKnowledgeRecordVerification[]; readonly sourceVersions: readonly ProjectKnowledgeRecordSourceVersion[]; readonly applicationCount: number; readonly successCount: number; readonly failureCount: number; readonly lastAppliedAt?: string; readonly updatedAt: string; } export interface ProjectKnowledgeUserRecordInput { readonly type: ProjectKnowledgeRecordType; readonly title: string; readonly summary: string; readonly applicablePaths?: readonly string[]; readonly operations?: readonly string[]; readonly phases?: readonly string[]; readonly sources?: readonly ProjectKnowledgeRecordSource[]; readonly verification?: readonly ProjectKnowledgeRecordVerification[]; } export declare function validateProjectKnowledgeRecordShape(value: unknown): ProjectKnowledgeRecord; export declare function parseProjectKnowledgeRecord(value: unknown): ProjectKnowledgeRecord; export declare function createUserProjectKnowledgeRecord(input: ProjectKnowledgeUserRecordInput, projectId: string, updatedAt?: string, id?: string): ProjectKnowledgeRecord; export declare function mergeProjectKnowledgeRecord(current: ProjectKnowledgeRecord, incoming: ProjectKnowledgeRecord): ProjectKnowledgeRecord; export declare function projectKnowledgeRecordFamily(type: ProjectKnowledgeRecordType): ProjectKnowledgeRecordFamily; //# sourceMappingURL=records.d.ts.map