import type { AsyncStatus, ResolvedToolBudget, ResolvedTurnBudget, SteerActionResult, SteeringRecoveryDescriptor, SteeringRequestStatus, SteeringStatus, SteeringTargetState, SteeringTargetStatus } from "../../shared/types.ts"; export declare const MAX_STEERING_REQUESTS = 20; export declare const STEERING_MESSAGE_PREVIEW_LIMIT = 160; export declare function createSteeringStatus(): SteeringStatus; export declare function steeringStatus(status: Pick): SteeringStatus; export declare function recordSteeringRequest(status: SteeringStatus, input: { id: string; requestedAt: number; source?: string; message: string; targets: Array<{ index: number; state: SteeringTargetState; reason?: string; }>; }): SteeringRequestStatus; export declare function updateSteeringTarget(status: SteeringStatus, requestId: string, index: number, state: SteeringTargetState, now: number, fields?: Pick): SteeringTargetStatus | undefined; export declare function findSteeringRequest(status: SteeringStatus, requestId: string): SteeringRequestStatus | undefined; export declare function actionResultFromSteeringStatus(status: SteeringStatus, sourceRunId: string, requestId: string, replacementRunId?: string): SteerActionResult | undefined; export declare function steeringActionIsTerminal(result: SteerActionResult | undefined): boolean; export declare function terminalSteeringNoticeState(status: SteeringStatus, requestId: string): "failed" | "partial" | undefined; export declare function claimSteeringRecovery(asyncDir: string, input: { requestId: string; sourceRunId: string; committedAt: number; }): { claimPath: string; markerPath: string; }; export declare function readSteeringStatus(asyncDir: string): SteeringStatus | undefined; export declare function remainingSteeringRecoveryLimits(descriptor: Pick, status: Pick, now?: number): { timeoutMs?: number; absoluteDeadlineAt?: number; turnBudget?: ResolvedTurnBudget; toolBudget?: ResolvedToolBudget; }; export declare function waitForSteeringAction(input: { asyncDir: string; sourceRunId: string; requestId: string; timeoutMs: number; signal?: AbortSignal; }): Promise; //# sourceMappingURL=steering.d.ts.map