import { type HostProfileV1 } from "./host-profile.js"; import { type CallbackAttemptOutcome, type CallbackTransport, type CallbackTransportDeliverInput } from "./callback-transport.js"; export declare const COMMAND_JSON_CALLBACK_TRANSPORT_KIND = "command_json_v1"; export interface CommandJsonSpawnResult { status: number | null; stdout?: string | null; stderr?: string | null; signal?: NodeJS.Signals | null; error?: Error; } export interface CommandJsonSpawnOptions { encoding: "utf8"; env: NodeJS.ProcessEnv; input: string; killSignal: "SIGKILL"; maxBuffer: number; shell: false; timeout: number; windowsHide: true; } export type CommandJsonSpawnSync = (executable: string, arguments_: string[], options: CommandJsonSpawnOptions) => CommandJsonSpawnResult; export interface CreateCommandJsonCallbackTransportOptions { profile: HostProfileV1; controllerSessionId: string; now?: () => Date; environment?: () => NodeJS.ProcessEnv; spawnSync?: CommandJsonSpawnSync; } export interface CommandJsonCallbackTransport extends CallbackTransport { readonly kind: typeof COMMAND_JSON_CALLBACK_TRANSPORT_KIND; deliver(input: CallbackTransportDeliverInput): CallbackAttemptOutcome; } /** * Deliver canonical AKK callback envelopes through one administrator-selected * command Profile. The Profile and trusted controller identity are captured at * construction time and cannot be supplied by a model-facing delivery call. */ export declare function createCommandJsonCallbackTransport(options: CreateCommandJsonCallbackTransportOptions): CommandJsonCallbackTransport;