import * as z from "zod/v4";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
import { FailableToolCallStatus } from "./failabletoolcallstatus.js";
export declare const OutputSubagentServerToolItemType: {
    readonly OpenrouterSubagent: "openrouter:subagent";
};
export type OutputSubagentServerToolItemType = ClosedEnum<typeof OutputSubagentServerToolItemType>;
/**
 * An openrouter:subagent server tool output item
 */
export type OutputSubagentServerToolItem = {
    /**
     * EXPERIMENTAL — subject to change without notice. The `call_id` of the tool call that spawned this subagent. This id will also be included as the `subagent_id` on any `function_call` items created by the subagent. This must be returned in the request so the `function_call` can be matched with the correct subagent. A suspended `in_progress` item is announced once and never re-emitted or terminally closed — completion arrives as a new item with the same `call_id`.
     */
    callId?: string | undefined;
    /**
     * Error message when the subagent task did not produce an outcome. Set together with `status: 'failed'` on the terminal item.
     */
    error?: string | undefined;
    id?: string | undefined;
    /**
     * Provider-safe function name of the specific subagent instance that produced this item (e.g. `openrouter_subagent__1`). Present only on items from non-default instances — the second and later subagent entries in the request `tools` array. The first (default) instance omits it, even when multiple subagents are configured. When a replayed item echoes this field back, the transcript rehydrates the call under that instance's tool. This identity is positional: it is derived from the index of the subagent entry in the request `tools` array, so keep the order of subagent entries stable across requests in a conversation.
     */
    instanceName?: string | undefined;
    /**
     * Slug of the worker model that executed the task.
     */
    model?: string | undefined;
    /**
     * Configured name of the subagent that executed the task (the `name` on its tool entry). Present only for named subagents; omitted for an unnamed (default) subagent.
     */
    name?: string | undefined;
    /**
     * The worker model's result (the outcome text returned to the delegating model).
     */
    outcome?: string | undefined;
    status: FailableToolCallStatus;
    /**
     * The task description the delegating model sent to the worker.
     */
    taskDescription?: string | undefined;
    /**
     * The short task identifier the delegating model supplied.
     */
    taskName?: string | undefined;
    type: OutputSubagentServerToolItemType;
};
/** @internal */
export declare const OutputSubagentServerToolItemType$inboundSchema: z.ZodEnum<typeof OutputSubagentServerToolItemType>;
/** @internal */
export declare const OutputSubagentServerToolItemType$outboundSchema: z.ZodEnum<typeof OutputSubagentServerToolItemType>;
/** @internal */
export declare const OutputSubagentServerToolItem$inboundSchema: z.ZodType<OutputSubagentServerToolItem, unknown>;
/** @internal */
export type OutputSubagentServerToolItem$Outbound = {
    call_id?: string | undefined;
    error?: string | undefined;
    id?: string | undefined;
    instance_name?: string | undefined;
    model?: string | undefined;
    name?: string | undefined;
    outcome?: string | undefined;
    status: string;
    task_description?: string | undefined;
    task_name?: string | undefined;
    type: string;
};
/** @internal */
export declare const OutputSubagentServerToolItem$outboundSchema: z.ZodType<OutputSubagentServerToolItem$Outbound, OutputSubagentServerToolItem>;
export declare function outputSubagentServerToolItemToJSON(outputSubagentServerToolItem: OutputSubagentServerToolItem): string;
export declare function outputSubagentServerToolItemFromJSON(jsonString: string): SafeParseResult<OutputSubagentServerToolItem, SDKValidationError>;
//# sourceMappingURL=outputsubagentservertoolitem.d.ts.map