/** Shared cancellation/deadline budget for one skill file operation. */ export interface SkillOperationBudget { readonly abortSignal?: AbortSignal; readonly timeoutMs?: number; /** One immutable timeout reason shared by every deadline observation. */ readonly timeoutError?: SkillOperationTimeoutError; remainingMs(): number | undefined; throwIfTerminated(): void; run(operation: (abortSignal: AbortSignal | undefined) => Promise): Promise; } export declare class SkillOperationTimeoutError extends Error { readonly timeoutMs: number; constructor(timeoutMs: number); } /** Create one monotonic budget at the outermost skill-tool boundary. */ export declare function createSkillOperationBudget(options?: { abortSignal?: AbortSignal; timeoutMs?: number; }): SkillOperationBudget; //# sourceMappingURL=operation-budget.d.ts.map