interface SemanticRulePromotionCandidate {
    id: string;
    sourceMemoryId: string;
    content: string;
    confidence: number;
    tags: string[];
    memoryKind: "note";
    lineage: string[];
}
interface SemanticRulePromotionSkip {
    sourceMemoryId: string;
    reason: "disabled" | "source-memory-missing" | "source-memory-forgotten" | "source-memory-not-episode" | "no-explicit-rule" | "duplicate-rule";
    existingRuleId?: string;
}
interface SemanticRulePromotionReport {
    enabled: boolean;
    dryRun: boolean;
    promoted: SemanticRulePromotionCandidate[];
    skipped: SemanticRulePromotionSkip[];
}
declare function promoteSemanticRuleFromMemory(options: {
    memoryDir: string;
    enabled: boolean;
    sourceMemoryId: string;
    dryRun?: boolean;
}): Promise<SemanticRulePromotionReport>;

export { type SemanticRulePromotionCandidate, type SemanticRulePromotionReport, type SemanticRulePromotionSkip, promoteSemanticRuleFromMemory };
