import * as z from "zod/v4";
import { ClosedEnum, OpenEnum } from "../types/enums.js";
import { InputFile, InputFile$Outbound } from "./inputfile.js";
import { InputText, InputText$Outbound } from "./inputtext.js";
import { ToolCallStatus } from "./toolcallstatus.js";
export declare const FunctionCallOutputItemDetail: {
    readonly Auto: "auto";
    readonly High: "high";
    readonly Low: "low";
    readonly Original: "original";
};
export type FunctionCallOutputItemDetail = OpenEnum<typeof FunctionCallOutputItemDetail>;
/**
 * Image input content item
 */
export type FunctionCallOutputItemOutputInputImage = {
    detail: FunctionCallOutputItemDetail;
    imageUrl?: string | null | undefined;
    type: "input_image";
};
export type FunctionCallOutputItemOutputUnion1 = InputText | FunctionCallOutputItemOutputInputImage | InputFile;
export type FunctionCallOutputItemOutputUnion2 = string | Array<InputText | FunctionCallOutputItemOutputInputImage | InputFile>;
export declare const FunctionCallOutputItemTypeFunctionCallOutput: {
    readonly FunctionCallOutput: "function_call_output";
};
export type FunctionCallOutputItemTypeFunctionCallOutput = ClosedEnum<typeof FunctionCallOutputItemTypeFunctionCallOutput>;
/**
 * The output from a function call execution
 */
export type FunctionCallOutputItem = {
    callId: string;
    id?: string | null | undefined;
    output: string | Array<InputText | FunctionCallOutputItemOutputInputImage | InputFile>;
    status?: ToolCallStatus | null | undefined;
    type: FunctionCallOutputItemTypeFunctionCallOutput;
};
/** @internal */
export declare const FunctionCallOutputItemDetail$outboundSchema: z.ZodType<string, FunctionCallOutputItemDetail>;
/** @internal */
export type FunctionCallOutputItemOutputInputImage$Outbound = {
    detail: string;
    image_url?: string | null | undefined;
    type: "input_image";
};
/** @internal */
export declare const FunctionCallOutputItemOutputInputImage$outboundSchema: z.ZodType<FunctionCallOutputItemOutputInputImage$Outbound, FunctionCallOutputItemOutputInputImage>;
export declare function functionCallOutputItemOutputInputImageToJSON(functionCallOutputItemOutputInputImage: FunctionCallOutputItemOutputInputImage): string;
/** @internal */
export type FunctionCallOutputItemOutputUnion1$Outbound = InputText$Outbound | FunctionCallOutputItemOutputInputImage$Outbound | InputFile$Outbound;
/** @internal */
export declare const FunctionCallOutputItemOutputUnion1$outboundSchema: z.ZodType<FunctionCallOutputItemOutputUnion1$Outbound, FunctionCallOutputItemOutputUnion1>;
export declare function functionCallOutputItemOutputUnion1ToJSON(functionCallOutputItemOutputUnion1: FunctionCallOutputItemOutputUnion1): string;
/** @internal */
export type FunctionCallOutputItemOutputUnion2$Outbound = string | Array<InputText$Outbound | FunctionCallOutputItemOutputInputImage$Outbound | InputFile$Outbound>;
/** @internal */
export declare const FunctionCallOutputItemOutputUnion2$outboundSchema: z.ZodType<FunctionCallOutputItemOutputUnion2$Outbound, FunctionCallOutputItemOutputUnion2>;
export declare function functionCallOutputItemOutputUnion2ToJSON(functionCallOutputItemOutputUnion2: FunctionCallOutputItemOutputUnion2): string;
/** @internal */
export declare const FunctionCallOutputItemTypeFunctionCallOutput$outboundSchema: z.ZodEnum<typeof FunctionCallOutputItemTypeFunctionCallOutput>;
/** @internal */
export type FunctionCallOutputItem$Outbound = {
    call_id: string;
    id?: string | null | undefined;
    output: string | Array<InputText$Outbound | FunctionCallOutputItemOutputInputImage$Outbound | InputFile$Outbound>;
    status?: string | null | undefined;
    type: string;
};
/** @internal */
export declare const FunctionCallOutputItem$outboundSchema: z.ZodType<FunctionCallOutputItem$Outbound, FunctionCallOutputItem>;
export declare function functionCallOutputItemToJSON(functionCallOutputItem: FunctionCallOutputItem): string;
//# sourceMappingURL=functioncalloutputitem.d.ts.map