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";
export declare const OutputFunctionCallItemStatusInProgress: {
    readonly InProgress: "in_progress";
};
export type OutputFunctionCallItemStatusInProgress = ClosedEnum<typeof OutputFunctionCallItemStatusInProgress>;
export declare const OutputFunctionCallItemStatusIncomplete: {
    readonly Incomplete: "incomplete";
};
export type OutputFunctionCallItemStatusIncomplete = ClosedEnum<typeof OutputFunctionCallItemStatusIncomplete>;
export declare const OutputFunctionCallItemStatusCompleted: {
    readonly Completed: "completed";
};
export type OutputFunctionCallItemStatusCompleted = ClosedEnum<typeof OutputFunctionCallItemStatusCompleted>;
export type OutputFunctionCallItemStatusUnion = OutputFunctionCallItemStatusCompleted | OutputFunctionCallItemStatusIncomplete | OutputFunctionCallItemStatusInProgress;
export declare const OutputFunctionCallItemType: {
    readonly FunctionCall: "function_call";
};
export type OutputFunctionCallItemType = ClosedEnum<typeof OutputFunctionCallItemType>;
export type OutputFunctionCallItemSubagentItem = {
    type: string;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export type OutputFunctionCallItem = {
    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?: OutputFunctionCallItemStatusCompleted | OutputFunctionCallItemStatusIncomplete | OutputFunctionCallItemStatusInProgress | undefined;
    type: OutputFunctionCallItemType;
    /**
     * 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<OutputFunctionCallItemSubagentItem> | undefined;
};
/** @internal */
export declare const OutputFunctionCallItemStatusInProgress$inboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusInProgress>;
/** @internal */
export declare const OutputFunctionCallItemStatusInProgress$outboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusInProgress>;
/** @internal */
export declare const OutputFunctionCallItemStatusIncomplete$inboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusIncomplete>;
/** @internal */
export declare const OutputFunctionCallItemStatusIncomplete$outboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusIncomplete>;
/** @internal */
export declare const OutputFunctionCallItemStatusCompleted$inboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusCompleted>;
/** @internal */
export declare const OutputFunctionCallItemStatusCompleted$outboundSchema: z.ZodEnum<typeof OutputFunctionCallItemStatusCompleted>;
/** @internal */
export declare const OutputFunctionCallItemStatusUnion$inboundSchema: z.ZodType<OutputFunctionCallItemStatusUnion, unknown>;
/** @internal */
export type OutputFunctionCallItemStatusUnion$Outbound = string | string | string;
/** @internal */
export declare const OutputFunctionCallItemStatusUnion$outboundSchema: z.ZodType<OutputFunctionCallItemStatusUnion$Outbound, OutputFunctionCallItemStatusUnion>;
export declare function outputFunctionCallItemStatusUnionToJSON(outputFunctionCallItemStatusUnion: OutputFunctionCallItemStatusUnion): string;
export declare function outputFunctionCallItemStatusUnionFromJSON(jsonString: string): SafeParseResult<OutputFunctionCallItemStatusUnion, SDKValidationError>;
/** @internal */
export declare const OutputFunctionCallItemType$inboundSchema: z.ZodEnum<typeof OutputFunctionCallItemType>;
/** @internal */
export declare const OutputFunctionCallItemType$outboundSchema: z.ZodEnum<typeof OutputFunctionCallItemType>;
/** @internal */
export declare const OutputFunctionCallItemSubagentItem$inboundSchema: z.ZodType<OutputFunctionCallItemSubagentItem, unknown>;
/** @internal */
export type OutputFunctionCallItemSubagentItem$Outbound = {
    type: string;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const OutputFunctionCallItemSubagentItem$outboundSchema: z.ZodType<OutputFunctionCallItemSubagentItem$Outbound, OutputFunctionCallItemSubagentItem>;
export declare function outputFunctionCallItemSubagentItemToJSON(outputFunctionCallItemSubagentItem: OutputFunctionCallItemSubagentItem): string;
export declare function outputFunctionCallItemSubagentItemFromJSON(jsonString: string): SafeParseResult<OutputFunctionCallItemSubagentItem, SDKValidationError>;
/** @internal */
export declare const OutputFunctionCallItem$inboundSchema: z.ZodType<OutputFunctionCallItem, unknown>;
/** @internal */
export type OutputFunctionCallItem$Outbound = {
    arguments: string;
    call_id: string;
    id?: string | undefined;
    name: string;
    namespace?: string | undefined;
    status?: string | string | string | undefined;
    type: string;
    subagent_id?: string | undefined;
    subagent_items?: Array<OutputFunctionCallItemSubagentItem$Outbound> | undefined;
};
/** @internal */
export declare const OutputFunctionCallItem$outboundSchema: z.ZodType<OutputFunctionCallItem$Outbound, OutputFunctionCallItem>;
export declare function outputFunctionCallItemToJSON(outputFunctionCallItem: OutputFunctionCallItem): string;
export declare function outputFunctionCallItemFromJSON(jsonString: string): SafeParseResult<OutputFunctionCallItem, SDKValidationError>;
//# sourceMappingURL=outputfunctioncallitem.d.ts.map