export declare const SEMANTIC_RELATIONSHIP_VERSION: "semantic-extractor-v1";
export type SemanticRelationshipFamily = 'COMPOSES' | 'ADAPTS' | 'DELEGATES_TO' | 'WRAPS' | 'CONFIGURES' | 'FACTORY_CREATES' | 'ORCHESTRATES' | 'PROXIES_TO' | 'MAPS_TO';
export type SemanticRelationshipProvenance = 'extracted' | 'inferred' | 'LLM_INFERRED' | 'human-confirmed';
export interface SemanticRelationshipEvidence {
    readonly filePath?: string;
    readonly startLine?: number;
    readonly endLine?: number;
    readonly rawEdgeType: string;
    readonly rawEdgeConfidence?: number;
    readonly reason: string;
}
export interface SemanticRelationship {
    readonly id: string;
    readonly family: SemanticRelationshipFamily;
    readonly sourceId: string;
    readonly sourceName?: string;
    readonly targetId: string;
    readonly targetName?: string;
    readonly confidence: number;
    readonly provenance: SemanticRelationshipProvenance;
    readonly extractorVersion: typeof SEMANTIC_RELATIONSHIP_VERSION;
    readonly evidence: SemanticRelationshipEvidence;
}
export interface SemanticRelationshipReport {
    readonly snapshotId?: string;
    readonly extractorVersion: typeof SEMANTIC_RELATIONSHIP_VERSION;
    readonly llmEnabled: boolean;
    readonly relationships: readonly SemanticRelationship[];
    readonly summary: Record<SemanticRelationshipFamily, number>;
}
export declare const analyzeSemanticRelationships: (opts: {
    readonly storagePath: string;
    readonly limit?: number;
    readonly llm?: boolean;
    readonly write?: boolean;
}) => Promise<SemanticRelationshipReport>;
