import type { Message } from './types.js';
export interface Instinct {
    id: string;
    pattern: string;
    context: string;
    category: InstinctCategory;
    confidence: number;
    source: string;
    createdAt: string;
    lastUsed: string;
    useCount: number;
    expiresAt?: string;
}
export type InstinctCategory = 'code_pattern' | 'tool_preference' | 'workflow' | 'error_fix' | 'project_context' | 'user_preference';
export declare function saveInstinct(instinct: Instinct): void;
export declare function loadInstinct(id: string): Instinct | null;
export declare function listInstincts(): Instinct[];
export declare function deleteInstinct(id: string): boolean;
export declare function createInstinct(pattern: string, context: string, category: InstinctCategory, source: string, confidence?: number): Instinct;
export declare function reinforceInstinct(id: string, boost?: number): void;
export declare function decayInstinct(id: string, amount?: number): void;
/**
 * Extract patterns from a conversation.
 * Looks for: repeated tool sequences, error→fix patterns, style preferences.
 * Deduplicates similar patterns before creating instincts.
 */
export declare function extractPatterns(messages: Message[], sessionId: string): Instinct[];
/**
 * Get relevant instincts for the current context.
 */
export declare function getRelevantInstincts(query: string, limit?: number): Instinct[];
export declare function pruneExpired(): number;
export declare function exportInstincts(): string;
export declare function importInstincts(json: string): number;
export declare function printInstinctStatus(): void;
