import type { KnowledgeAuthority, KnowledgeCoverageGap, KnowledgeReadiness, KnowledgeSourceCatalog, KnowledgeSourceCatalogEntry, KnowledgeSourceKind, KnowledgeSourceSchema, KnowledgeTaskKind, KnowledgeVersionPolicy, ProjectKnowledgeProfile } from '@devflow-tools/sdk'; import type { KnowledgeStore } from './knowledge-store.js'; export interface BuildProjectKnowledgeProfileOptions { activeSkills?: string[]; languages?: string[]; supportedTaskKinds?: KnowledgeTaskKind[]; generatedAt?: number; } export interface CreateKnowledgeSourceSchemaInput { id: string; sourceId: string; sourceKind: KnowledgeSourceKind; authority: KnowledgeAuthority; versionPolicy: KnowledgeVersionPolicy; allowedEntities?: string[]; supportedTaskKinds?: KnowledgeTaskKind[]; refreshStrategy?: KnowledgeSourceSchema['refreshStrategy']; refreshIntervalMs?: number; schemaVersion?: number; } export declare class SourceCatalog { private readonly store; readonly projectRoot: string; readonly projectId: string; constructor(store: KnowledgeStore, projectRoot: string, projectId: string); refreshProjectProfile(options?: BuildProjectKnowledgeProfileOptions): ProjectKnowledgeProfile; registerSourceSchema(input: CreateKnowledgeSourceSchemaInput, operationTimestamp?: number): KnowledgeSourceSchema; beginRefresh(sourceId: string, inputContentHash: string, operationTimestamp?: number): ReturnType; activateSource(input: { schemaId: string; version?: string; contentHash: string; readiness: KnowledgeReadiness; entities?: string[]; symbols?: string[]; taskKinds?: KnowledgeTaskKind[]; refreshJobId?: string; operationTimestamp?: number; }): { entry: KnowledgeSourceCatalogEntry; snapshotId: string; changed: boolean; }; failRefresh(refreshJobId: string, error: unknown, operationTimestamp?: number): boolean; recordCoverageGap(input: Omit & { detectedAt?: number; }): KnowledgeCoverageGap; requireCoverage(input: { sourceId: string; entity?: string; symbol?: string; requiredVersion?: string; taskKind?: KnowledgeTaskKind; }): KnowledgeCoverageGap | null; getCatalog(): KnowledgeSourceCatalog; } export declare function buildProjectKnowledgeProfile(projectRoot: string, projectId: string, options?: BuildProjectKnowledgeProfileOptions): ProjectKnowledgeProfile; export declare function createKnowledgeSourceSchema(input: CreateKnowledgeSourceSchemaInput): KnowledgeSourceSchema; //# sourceMappingURL=source-catalog.d.ts.map