import type { ResolvedToolBudget, ToolBudgetConfig, ToolBudgetState } from "../../shared/types.ts"; export declare const DEFAULT_TOOL_BUDGET_BLOCK: readonly ["read", "grep", "find", "ls"]; export declare const TOOL_BUDGET_ENV = "PI_SUBAGENT_TOOL_BUDGET"; export declare const TOOL_BUDGET_ZERO_AUTH_ENV = "PI_SUBAGENT_TOOL_BUDGET_ZERO_AUTH"; export declare function normalizeToolBudgetBlock(block: ToolBudgetConfig["block"] | undefined): "*" | string[]; export declare function validateToolBudgetConfig(raw: unknown, label?: string, options?: { minimumHard?: 0 | 1; }): { budget?: ResolvedToolBudget; error?: string; }; export declare function initialToolBudgetState(budget: ResolvedToolBudget): ToolBudgetState; export declare function toolBudgetState(budget: ResolvedToolBudget, toolCount: number, blockedTool?: string): ToolBudgetState; export declare function shouldBlockToolForBudget(budget: ResolvedToolBudget, toolName: string, nextToolCount: number): boolean; export declare function toolBudgetSoftNudge(budget: ResolvedToolBudget, toolCount: number): string; export declare function toolBudgetBlockedMessage(budget: ResolvedToolBudget, toolName: string, toolCount: number): string; export declare function encodeToolBudgetEnv(budget: ResolvedToolBudget | undefined): string | undefined; export declare function decodeToolBudgetEnv(value: string | undefined, options?: { allowZero?: boolean; }): ResolvedToolBudget | undefined; //# sourceMappingURL=tool-budget.d.ts.map