import type { FlexibleSchema, ToolSet } from "ai";
import type * as CodeModeModule from "#compiled/@ai-sdk/code-mode/index.js";
type WorkflowSandboxModule = {
    readonly CodeModeToolError: typeof CodeModeModule.CodeModeToolError;
    readonly continueCodeModeInterrupt: typeof CodeModeModule.experimental_continueCodeModeInterrupt;
    readonly createCodeModeTool: typeof CodeModeModule.experimental_createCodeModeTool;
    readonly requestCodeModeInterrupt: typeof CodeModeModule.experimental_requestCodeModeInterrupt;
    readonly unwrapCodeModeResult: typeof CodeModeModule.experimental_unwrapCodeModeResult;
};
export type WorkflowSandboxInterrupt = CodeModeModule.CodeModeInterrupt;
export type WorkflowSandboxContinuationSecurity = CodeModeModule.CodeModeContinuationSecurityOptions;
export declare function installWorkflowSandboxModule(module: WorkflowSandboxModule): void;
export declare function createWorkflowSandboxTool(input: {
    readonly bridgeRequestLimit: number;
    readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
    readonly hostTools: ToolSet;
}): Promise<ToolSet[string]>;
export declare function continueWorkflowSandboxInterrupt(input: {
    readonly bridgeRequestLimit: number;
    readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
    readonly interrupt: WorkflowSandboxInterrupt;
    readonly resolution: unknown;
    readonly tools: ToolSet;
}): Promise<unknown>;
export declare function unwrapWorkflowSandboxResult(value: unknown, continuationSecurity: WorkflowSandboxContinuationSecurity): Promise<{
    readonly output: unknown;
    readonly status: "completed";
} | {
    readonly interrupt: WorkflowSandboxInterrupt;
    readonly status: "interrupted";
}>;
export type WorkflowSandboxResolution = {
    readonly status: "completed";
    readonly output: unknown;
} | {
    readonly status: "failed";
    readonly error: string;
};
/** A host tool that parks on first call and consumes its resolution on replay. */
export declare function createParkingHostTool(input: {
    readonly description: string;
    readonly inputSchema: FlexibleSchema;
    readonly outputSchema?: FlexibleSchema | null;
    readonly interrupt: (toolInput: unknown) => {
        readonly kind: string;
    } & Record<string, unknown>;
}): ToolSet[string];
/** Reconstructs every unresolved interruption from the authenticated continuation. */
export declare function getWorkflowSandboxPendingInterrupts(interrupt: WorkflowSandboxInterrupt): WorkflowSandboxInterrupt[];
export {};
