import type { AgentOutputType } from '../../agent';
import type { Model } from '../../model';
import type { Capability } from '../capabilities';
import type { SandboxAgent } from '../agent';
import type { SandboxSessionLike, SandboxSessionState } from '../session';
import type { Span, Trace } from '../../tracing';
import { SandboxWorkspaceScope } from '../workspacePaths';
export { getDefaultSandboxInstructions } from './prompts';
type PrepareSandboxAgentArgs<TContext, TOutput extends AgentOutputType> = {
    agent: SandboxAgent<TContext, TOutput>;
    session: SandboxSessionLike<SandboxSessionState>;
    capabilities?: Capability[];
    runConfigModel?: SandboxRuntimeModel;
    processManifest?: boolean;
    tracingParent?: Span<any> | Trace;
    workspaceScope?: SandboxWorkspaceScope;
};
export type ResolvedSandboxRuntimeModel = {
    model: string;
    modelInstance: Model;
};
export type SandboxRuntimeModel = string | Model | ResolvedSandboxRuntimeModel;
export declare function cloneSandboxCapabilities(capabilities: Capability[]): Capability[];
export declare function prepareSandboxAgent<TContext, TOutput extends AgentOutputType>({ agent, session, capabilities, runConfigModel, processManifest, tracingParent, workspaceScope, }: PrepareSandboxAgentArgs<TContext, TOutput>): SandboxAgent<TContext, TOutput>;
