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 { ToolCallStatus } from "./toolcallstatus.js";
export type OpenAIResponseFunctionToolCallSubagentItem = {
    type: string;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export declare const OpenAIResponseFunctionToolCallType: {
    readonly FunctionCall: "function_call";
};
export type OpenAIResponseFunctionToolCallType = ClosedEnum<typeof OpenAIResponseFunctionToolCallType>;
export type OpenAIResponseFunctionToolCall = {
    arguments: string;
    callId: string;
    id?: string | undefined;
    name: string;
    /**
     * Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server)
     */
    namespace?: string | undefined;
    status?: ToolCallStatus | undefined;
    /**
     * EXPERIMENTAL — subject to change without notice. String id that matches the `call_id` of the `openrouter:subagent` server tool call that spawned the subagent. Present on every `function_call` item the subagent projects; absent on ordinary function calls.
     */
    subagentId?: string | undefined;
    /**
     * EXPERIMENTAL — subject to change without notice. The subagent's output items produced on this turn. Treat this as an opaque object; you must replay it in the request so that the subagent can continue execution of the tool with the same context. If a subagent created multiple parallel tool calls, only the first tool call will have this field. The other tool calls will only have `subagent_id`. Present only if the tool call originates from a subagent spawned by the `openrouter:subagent` server tool.
     */
    subagentItems?: Array<OpenAIResponseFunctionToolCallSubagentItem> | undefined;
    type: OpenAIResponseFunctionToolCallType;
};
/** @internal */
export declare const OpenAIResponseFunctionToolCallSubagentItem$inboundSchema: z.ZodType<OpenAIResponseFunctionToolCallSubagentItem, unknown>;
export declare function openAIResponseFunctionToolCallSubagentItemFromJSON(jsonString: string): SafeParseResult<OpenAIResponseFunctionToolCallSubagentItem, SDKValidationError>;
/** @internal */
export declare const OpenAIResponseFunctionToolCallType$inboundSchema: z.ZodEnum<typeof OpenAIResponseFunctionToolCallType>;
/** @internal */
export declare const OpenAIResponseFunctionToolCall$inboundSchema: z.ZodType<OpenAIResponseFunctionToolCall, unknown>;
export declare function openAIResponseFunctionToolCallFromJSON(jsonString: string): SafeParseResult<OpenAIResponseFunctionToolCall, SDKValidationError>;
//# sourceMappingURL=openairesponsefunctiontoolcall.d.ts.map