export type MemoryCandidateKind = 'fact' | 'decision' | 'failure-mode' | 'reuse-pattern' | 'file-map' | 'operator-preference';
export interface MemoryCandidateFact {
    kind: MemoryCandidateKind;
    content: string;
    tags: string[];
    confidence: number;
    ephemeral: boolean;
}
export type MemoryExtractionMode = 'llm' | 'heuristic';
export type MemoryContainerLane = 'profile' | 'workspace' | 'shared' | 'inbox';
export interface MemoryProvenance {
    source: 'operator' | 'runtime' | 'worker' | 'operative' | 'imported' | 'system' | 'rag';
    sessionId?: string;
    runId?: string;
    workerId?: string;
    userId?: string;
    agentId?: string;
    appId?: string;
    workspaceId?: string;
    repoId?: string;
    projectId?: string;
    lane?: MemoryContainerLane;
    retentionHint?: 'default' | 'session' | 'short' | 'standard' | 'long' | 'forever';
    containerTags?: string[];
    toolName?: string;
    references: string[];
    tags: string[];
    summary: string;
    rawContext?: {
        preview: string;
        fingerprint: string;
        extractionMode?: MemoryExtractionMode;
    };
}
export type MemoryReconciliationAction = 'ADD' | 'UPDATE' | 'MERGE' | 'DELETE' | 'NONE' | 'QUARANTINE';
export interface MemoryReconciliationEntry {
    candidate: string;
    action: MemoryReconciliationAction;
    reason: string;
    relatedIds: string[];
    storedId?: string;
    expiresAt?: number;
    overlapScore?: number;
    extractorMode?: MemoryExtractionMode;
    resolutionReason?: string;
}
export interface MemoryReconciliationSummary {
    generatedAt: number;
    actionCounts: Record<MemoryReconciliationAction, number>;
    entries: MemoryReconciliationEntry[];
}
export interface MemoryMaintenanceResult {
    generatedAt: number;
    expired: number;
    cooled: number;
    quarantined: number;
    scrapMarked: number;
    retained: number;
    ngramIndex?: {
        action: 'none' | 'vacuum' | 'rotated';
        dbPath: string;
        sizeBytes: number;
        previousPath?: string;
        reason?: string;
    };
}
export interface MemoryReconciliationCandidateSnapshot {
    id: string;
    content: string;
    state?: 'active' | 'quarantined' | 'scrap' | 'expired';
}
export interface MemoryReconciliationDecision {
    action: MemoryReconciliationAction;
    reason: string;
    relatedIds: string[];
    overlapScore?: number;
    resolutionReason: string;
}
export declare function deriveCandidateFacts(content: string, tags?: string[], limit?: number): MemoryCandidateFact[];
export declare function createEmptyReconciliationSummary(): MemoryReconciliationSummary;
export declare function createMemoryProvenance(input: Partial<MemoryProvenance> & {
    source: MemoryProvenance['source'];
}): MemoryProvenance;
export declare function reconcileCandidateFact(candidate: MemoryCandidateFact, items: MemoryReconciliationCandidateSnapshot[], options: {
    priority: number;
    contradictionThreshold?: number;
    mergeThreshold?: number;
    duplicateThreshold?: number;
}): MemoryReconciliationDecision;
