import { type ToolSet } from "ai";
import type { SessionCapabilities } from "#channel/types.js";
import type { HarnessToolMap } from "#harness/types.js";
import { type CodeModeOptions } from "#shared/code-mode.js";
import { type SandboxSurface } from "#harness/sandbox-surface.js";
interface SandboxPartitionInput {
    readonly lifecycle?: CodeModeOptions["lifecycle"];
    readonly tools: ToolSet;
    readonly harnessTools: HarnessToolMap;
    /** Sandbox surfaces to emit, in claim-priority order (first claim wins). */
    readonly surfaces: readonly SandboxSurface[];
}
interface SandboxPartition {
    readonly hostTools: ToolSet;
    readonly modelTools: ToolSet;
}
export declare function createEveCodeModeOptions(input?: {
    readonly lifecycle?: CodeModeOptions["lifecycle"];
}): CodeModeOptions;
export declare function applySandboxToolSet(input: SandboxPartitionInput): Promise<SandboxPartition>;
export declare function buildSandboxHostTools(input: {
    readonly approvedTools?: ReadonlySet<string>;
    readonly capabilities?: SessionCapabilities;
    readonly tools: HarnessToolMap;
}): Promise<ToolSet>;
export {};
