interface ExplicitCueRecallEngine {
    expandContext(sessionId: string, fromTurn: number, toTurn: number, maxTokens: number): Promise<Array<{
        turn_index: number;
        role: string;
        content: string;
    }>>;
    searchContextFull(query: string, limit: number, sessionId?: string): Promise<Array<{
        turn_index: number;
        role: string;
        content: string;
        session_id: string;
        score?: number;
    }>>;
}
interface ExplicitCueRecallOptions {
    engine: ExplicitCueRecallEngine | null | undefined;
    sessionId?: string;
    query: string;
    maxChars: number;
    maxItemChars?: number;
    maxReferences?: number;
    includeBenchmarkAnchorCues?: boolean;
    includeStructuredPlanCues?: boolean;
}
type ExplicitTurnReference = {
    number: number;
    includeDirectTurn: boolean;
};
declare function buildExplicitCueRecallSection(options: ExplicitCueRecallOptions): Promise<string>;
declare function collectExplicitTurnReferences(query: string): ExplicitTurnReference[];
declare function collectLexicalCues(query: string, options?: {
    includeBenchmarkAnchorCues?: boolean;
    includeStructuredPlanCues?: boolean;
}): string[];
declare function collectQuestionSlotCues(query: string): string[];
declare function collectBenchmarkAnchorCues(query: string): string[];
declare function collectStructuredPlanCues(query: string): string[];
declare function collectTemporalLexicalCues(query: string): string[];

export { type ExplicitCueRecallEngine, type ExplicitCueRecallOptions, type ExplicitTurnReference, buildExplicitCueRecallSection, collectBenchmarkAnchorCues, collectExplicitTurnReferences, collectLexicalCues, collectQuestionSlotCues, collectStructuredPlanCues, collectTemporalLexicalCues };
