type RecallPromptShape = "standard" | "instruction_heavy";
type CronConversationRecallMode = "auto" | "always" | "never";
type RecallBudgetMode = "full" | "minimal";
interface RecallQueryPolicyConfig {
    cronRecallPolicyEnabled: boolean;
    cronRecallNormalizedQueryMaxChars: number;
    cronRecallInstructionHeavyTokenCap: number;
    cronConversationRecallMode: CronConversationRecallMode;
}
interface RecallQueryPolicyResult {
    promptShape: RecallPromptShape;
    retrievalQuery: string;
    skipConversationRecall: boolean;
    retrievalBudgetMode: RecallBudgetMode;
}
declare function classifyRecallPromptShape(prompt: string): RecallPromptShape;
declare function clampInstructionHeavyTokenCap(value: number): number;
declare function buildRecallQueryPolicy(prompt: string, sessionKey: string | undefined, cfg: RecallQueryPolicyConfig): RecallQueryPolicyResult;

export { type CronConversationRecallMode, type RecallBudgetMode, type RecallPromptShape, type RecallQueryPolicyConfig, type RecallQueryPolicyResult, buildRecallQueryPolicy, clampInstructionHeavyTokenCap, classifyRecallPromptShape };
