import type { AgentLogger, ThinkingBlock, TokenUsage, ToolLoopTransition } from "../types.js";
export interface BudgetContinuationPolicyInput {
    tokenBudget: number | undefined;
    totalUsage: TokenUsage;
    budgetContinuationCount: number;
    lastBudgetDeltaTokens: number;
    lastBudgetGlobalTokens: number;
    messages: unknown[];
    finalText: string;
    thinkingBlocks: readonly ThinkingBlock[];
    getBudgetContinuationMessage(usagePct: number, totalUsed: number, tokenBudget?: number): string;
    log: Pick<AgentLogger, "info">;
}
export interface BudgetContinuationPolicyDecision {
    messages: unknown[];
    budgetContinuationCount: number;
    lastBudgetDeltaTokens: number;
    lastBudgetGlobalTokens: number;
    recoveryDetail: string;
    transition: ToolLoopTransition;
}
export declare function resolveBudgetContinuationPolicy(input: BudgetContinuationPolicyInput): BudgetContinuationPolicyDecision | null;
