import type { RunPhaseName } from "@best-agent/protocol";
export declare const INVALID_TOOL_NAME = "invalid";
export declare const TRACE_TOOL_OUTPUT_LIMIT = 4000;
export declare const TRACE_ERROR_OUTPUT_LIMIT = 1200;
export declare const TRACE_PREVIEW_LIMIT = 1000;
export declare const THREAD_ERROR_TRACE_RELATIVE_PATH = "diagnostics/errors.jsonl";
export declare const RUN_ATTEMPT_HEARTBEAT_INTERVAL_MS = 5000;
export declare const RUN_ATTEMPT_STALE_AFTER_MS = 30000;
export declare const TOOL_USE_HOOK_TIMEOUT_MS = 5000;
export declare const WORKER_LEASE_HEARTBEAT_INTERVAL_MS = 100;
export declare const HOST_HEARTBEAT_INTERVAL_MS = 10000;
export declare const HOST_WATCHDOG_INTERVAL_MS = 15000;
export declare const MAX_ADVANCED_PHASE_REOPENS = 2;
export declare const MAX_ADVANCED_PHASE_TRANSITIONS = 8;
export declare const RESEARCH_ROOT_NODE_ID = "research-root";
export declare const WORKFLOW_ROOT_NODE_ID = "workflow-root";
export declare const MAX_PROVIDER_TOOL_STEPS = 64;
export declare const MAX_IN_TURN_REPAIR_ATTEMPTS = 4;
export declare const MAX_PROVIDER_TURNS = 16;
export declare const DOOM_LOOP_TOOL_REPEAT_THRESHOLD = 3;
export declare const DEFAULT_PROVIDER_DECISION_NO_ACTION_TIMEOUT_MS = 120000;
export declare const MAX_RETRYABLE_CHILD_THREAD_ATTEMPTS = 2;
export declare const MAX_CHILD_TASK_REPLACEMENT_ATTEMPTS = 1;
export declare const MAX_RECOVERABLE_ROOT_TURN_ATTEMPTS = 2;
export declare const ADVANCED_PHASE_TOOL_STEP_BUDGETS: Readonly<Record<Exclude<RunPhaseName, "wait">, number>>;
export declare const ADVANCED_PHASE_WALL_CLOCK_BUDGET_MS: Readonly<Record<Exclude<RunPhaseName, "wait">, number>>;
export type RuntimeBudgetProfile = {
    maxProviderTurns?: number;
    maxToolSteps?: number;
};
export declare function advancedPhaseToolStepBudget(currentPhase: Exclude<RunPhaseName, "wait">, profile: RuntimeBudgetProfile): number;
export declare function advancedPhaseWallClockBudgetMs(currentPhase: Exclude<RunPhaseName, "wait">): number;
export declare function maxProviderTurnsForProfile(profile: RuntimeBudgetProfile): number;
export declare function providerDecisionNoActionTimeoutMs(raw?: string | undefined): number;
//# sourceMappingURL=runtime-limits.d.ts.map