import { VectorSearch, ContextWindow, MultiAIOrchestrator } from '../../../core/memory-store';
export interface MemOutcomeRecord {
    patternId: string;
    description: string;
    action: string;
    workflowSessionId: string;
    workflowSuccess: boolean;
    timestamp: number;
}
export declare function loadOutcomeHistory(): MemOutcomeRecord[];
export declare function persistOutcome(record: MemOutcomeRecord): void;
export declare function queryOutcomes(limit?: number, patternId?: string): MemOutcomeRecord[];
export declare function getOutcomeCounts(): {
    total: number;
    accepts: number;
    rejects: number;
    retries: number;
};
export interface MemFailureRecord {
    patternId: string;
    category: string;
    description: string;
    from: string;
    to: string;
    language: string;
    acceptCount: number;
    rejectCount: number;
    totalSignals: number;
    lastTimestamp: number;
}
export declare function loadFailureMemory(): Map<string, MemFailureRecord>;
export declare function persistFailure(record: MemFailureRecord): void;
export declare function getPersistedFailures(): MemFailureRecord[];
export declare function getPersistedFailure(patternId: string): MemFailureRecord | undefined;
export interface MemWorkflowSession {
    sessionId: string;
    patternIds: string[];
    actions: string[];
    startedAt: number;
    completedAt: number | null;
    success: boolean | null;
}
export declare function loadWorkflowMemory(): Map<string, MemWorkflowSession>;
export declare function persistWorkflowSession(session: MemWorkflowSession): void;
export declare function getPersistedWorkflows(): MemWorkflowSession[];
export declare function getPersistedWorkflow(sessionId: string): MemWorkflowSession | undefined;
export interface MemTimeSavedRecord {
    patternId: string;
    category: string;
    description: string;
    language: string;
    estimatedSeconds: number;
    timestamp: number;
}
export declare function loadTimeSavedMemory(): MemTimeSavedRecord[];
export declare function persistTimeSaved(record: MemTimeSavedRecord): void;
export declare function getPersistedTimeSaved(): MemTimeSavedRecord[];
export interface MemoryStats {
    outcomeCount: number;
    failureCount: number;
    workflowCount: number;
    timeSavedCount: number;
    totalTimeSavedSeconds: number;
    memoryDir: string;
}
export declare function initializeMemory(): void;
export declare function getMemoryStats(): MemoryStats;
export declare function clearAllMemory(): void;
export declare const vecSearch: VectorSearch;
export declare const ctxWindow: ContextWindow;
export declare const aiOrch: MultiAIOrchestrator;
export declare function indexMemoryForSearch(): void;
export declare function searchMemory(query: string, limit?: number): Array<{
    id: string;
    score: number;
}>;
export declare function addWindowEntry(role: string, content: string): number;
export declare function getWindow(): Array<{
    role: string;
    content: string;
}>;
export declare function aiQuery(prompt: string, preferredModel?: string): Promise<string>;
export declare function estimateQueryCost(prompt: string, preferredModel?: string): number;
//# sourceMappingURL=ai-memory.d.ts.map