/**
 * Decision Memory module for CLEO BRAIN.
 * Uses brain.db via BrainDataAccessor for persistent storage.
 *
 * Provides functions to store, recall, search, and update decisions
 * with sequential ID generation (D001, D002, ...).
 *
 * @task T5155
 * @epic T5149
 */
import type { BrainDecisionRow } from '../store/brain-schema.js';
/** Parameters for storing a new decision. */
export interface StoreDecisionParams {
    type: BrainDecisionRow['type'];
    decision: string;
    rationale: string;
    confidence: BrainDecisionRow['confidence'];
    outcome?: BrainDecisionRow['outcome'];
    alternatives?: string[];
    contextEpicId?: string;
    contextTaskId?: string;
    contextPhase?: string;
}
/** Parameters for searching decisions. */
export interface SearchDecisionParams {
    type?: BrainDecisionRow['type'];
    confidence?: BrainDecisionRow['confidence'];
    outcome?: BrainDecisionRow['outcome'];
    query?: string;
    limit?: number;
}
/** Parameters for listing decisions. */
export interface ListDecisionParams {
    limit?: number;
    offset?: number;
}
/**
 * Store a new decision or update an existing one if a duplicate is found.
 * Duplicate detection: same decision text (case-insensitive).
 *
 * @task T5155
 */
export declare function storeDecision(projectRoot: string, params: StoreDecisionParams): Promise<BrainDecisionRow>;
/**
 * Recall a specific decision by ID.
 *
 * @task T5155
 */
export declare function recallDecision(projectRoot: string, id: string): Promise<BrainDecisionRow | null>;
/**
 * Search decisions by type, confidence, outcome, and/or free-text query.
 * Query searches across decision + rationale fields using LIKE.
 *
 * @task T5155
 */
export declare function searchDecisions(projectRoot: string, params?: SearchDecisionParams): Promise<BrainDecisionRow[]>;
/**
 * List decisions with pagination.
 *
 * @task T5155
 */
export declare function listDecisions(projectRoot: string, params?: ListDecisionParams): Promise<{
    decisions: BrainDecisionRow[];
    total: number;
}>;
/**
 * Update the outcome of a decision after learning from results.
 *
 * @task T5155
 */
export declare function updateDecisionOutcome(projectRoot: string, id: string, outcome: BrainDecisionRow['outcome']): Promise<BrainDecisionRow>;
//# sourceMappingURL=decisions.d.ts.map