import { type Diagnostic } from "../../safejs/dist/core.js";
import { type Group, type Scope } from "../../toolcraft/dist/index.js";
import type { CommandEntryList } from "./tree.js";
export type ExecuteBudgetOptions = {
    maxSteps?: number;
    deadline?: number | Date;
    maxCallDepth?: number;
    stringLength?: number;
    arrayLength?: number;
};
export type ExecuteSink = {
    error: (...args: unknown[]) => void;
    log: (...args: unknown[]) => void;
};
export type ExecuteCommandOptions = {
    root: Group<any>;
    sdk: Record<string, unknown>;
    entries?: CommandEntryList;
    budget?: ExecuteBudgetOptions;
    scope?: Scope[];
    sink?: ExecuteSink;
};
export type ExecuteRuntimeError = {
    message: string;
    code?: string;
    stack?: string;
};
export type ExecuteResult = {
    ok: true;
    returnValue: unknown;
    stats: unknown;
} | {
    ok: false;
    kind: "lint";
    diagnostics: Diagnostic[];
} | {
    ok: false;
    kind: "runtime";
    error: ExecuteRuntimeError;
};
export declare function makeExecuteCommand({ root, sdk, entries, budget, scope, sink }: ExecuteCommandOptions): import("../../toolcraft/dist/index.js").Command<{
    [x: string]: never;
}, import("../../toolcraft-schema/dist/index.js").ObjectSchema<{
    readonly source: import("../../toolcraft-schema/dist/index.js").StringSchema;
}>, undefined, ExecuteResult> & {
    readonly __agentKitCommandTypeInfo: import("../../toolcraft/dist/index.js").CommandTypeInfo<"execute", import("../../toolcraft-schema/dist/index.js").ObjectSchema<{
        readonly source: import("../../toolcraft-schema/dist/index.js").StringSchema;
    }>, ExecuteResult, ("cli" | "mcp" | "sdk")[], undefined>;
};
