import type { Infer, Validator, Value } from "convex/values";
export declare const vProviderOptions: import("convex/values").VRecord<Record<string, Record<string, any>>, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "required", string>;
declare const providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
export type ProviderOptions = Infer<typeof providerOptions>;
export declare const vProviderMetadata: import("convex/values").VRecord<Record<string, Record<string, any>>, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "required", string>;
declare const providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
export type ProviderMetadata = Infer<typeof providerMetadata>;
export declare const vThreadStatus: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
export declare const vMessageStatus: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
export type MessageStatus = Infer<typeof vMessageStatus>;
export declare const vRole: import("convex/values").VUnion<"user" | "assistant" | "tool" | "system", [import("convex/values").VLiteral<"system", "required">, import("convex/values").VLiteral<"user", "required">, import("convex/values").VLiteral<"assistant", "required">, import("convex/values").VLiteral<"tool", "required">], "required", never>;
export declare const vTextPart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>;
export declare const vImagePart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"image", "required">;
    image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">;
export declare const vFilePart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"file", "required">;
    data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    filename: import("convex/values").VString<string | undefined, "optional">;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">;
export declare const vUserContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"image", "required">;
    image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"file", "required">;
    data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    filename: import("convex/values").VString<string | undefined, "optional">;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
export declare const vReasoningPart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
}, {
    type: import("convex/values").VLiteral<"reasoning", "required">;
    text: import("convex/values").VString<string, "required">;
    signature: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">;
export declare const vRedactedReasoningPart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
}, {
    type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
    data: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">;
export declare const vReasoningDetails: import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    signature?: string | undefined;
    type: "text";
    text: string;
} | {
    type: "redacted";
    data: string;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    signature?: string | undefined;
    type: "text";
    text: string;
} | {
    type: "redacted";
    data: string;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
}, {
    type: import("convex/values").VLiteral<"reasoning", "required">;
    text: import("convex/values").VString<string, "required">;
    signature: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
    signature?: string | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    signature: import("convex/values").VString<string | undefined, "optional">;
}, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
    type: "redacted";
    data: string;
}, {
    type: import("convex/values").VLiteral<"redacted", "required">;
    data: import("convex/values").VString<string, "required">;
}, "required", "type" | "data">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data" | "signature">, "required">;
export declare const vSourcePart: import("convex/values").VUnion<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, [import("convex/values").VObject<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"url", "required">;
    id: import("convex/values").VString<string, "required">;
    url: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"document", "required">;
    id: import("convex/values").VString<string, "required">;
    mediaType: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string, "required">;
    filename: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">;
export type SourcePart = Infer<typeof vSourcePart>;
export declare const vToolCallPart: import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    input: import("convex/values").VAny<any, "required", string>;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "required", string>;
    input: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>;
export declare const vToolResultOutput: import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    value: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "json";
    value: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "error-text";
    value: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "error-json";
    value: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    reason?: string | undefined;
    type: "execution-denied";
} | {
    type: "content";
    value: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        type: "media";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "custom";
    })[];
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    value: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    value: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "json";
    value: any;
}, {
    type: import("convex/values").VLiteral<"json", "required">;
    value: import("convex/values").VAny<any, "required", string>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "error-text";
    value: string;
}, {
    type: import("convex/values").VLiteral<"error-text", "required">;
    value: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "error-json";
    value: any;
}, {
    type: import("convex/values").VLiteral<"error-json", "required">;
    value: import("convex/values").VAny<any, "required", string>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    reason?: string | undefined;
    type: "execution-denied";
}, {
    type: import("convex/values").VLiteral<"execution-denied", "required">;
    reason: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
    type: "content";
    value: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        type: "media";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "custom";
    })[];
}, {
    type: import("convex/values").VLiteral<"content", "required">;
    value: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        type: "media";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "custom";
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        type: "media";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-data";
        mediaType: string;
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-url";
        url: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-file-id";
        fileId: string | Record<string, string>;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "custom";
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
        type: "media";
        mediaType: string;
        data: string;
    }, {
        type: import("convex/values").VLiteral<"media", "required">;
        data: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
    }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file-data";
        mediaType: string;
        data: string;
    }, {
        type: import("convex/values").VLiteral<"file-data", "required">;
        /** Base-64 encoded */
        data: import("convex/values").VString<string, "required">;
        /**
         * IANA media type.
         * @see https://www.iana.org/assignments/media-types/media-types.xhtml
         */
        mediaType: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-url";
        url: string;
    }, {
        type: import("convex/values").VLiteral<"file-url", "required">;
        url: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "file-id";
        fileId: string | Record<string, string>;
    }, {
        type: import("convex/values").VLiteral<"file-id", "required">;
        /**
         * ID of the file.
         *
         * If you use multiple providers, you need to
         * specify the provider specific ids using
         * the Record option. The key is the provider
         * name, e.g. 'openai' or 'anthropic'.
         */
        fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-data";
        mediaType: string;
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image-data", "required">;
        data: import("convex/values").VString<string, "required">;
        /**
         * IANA media type.
         * @see https://www.iana.org/assignments/media-types/media-types.xhtml
         */
        mediaType: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-url";
        url: string;
    }, {
        type: import("convex/values").VLiteral<"image-url", "required">;
        url: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "image-file-id";
        fileId: string | Record<string, string>;
    }, {
        /**
         * Images that are referenced using a provider file id.
         */
        type: import("convex/values").VLiteral<"image-file-id", "required">;
        /**
         * Image that is referenced using a provider file id.
         *
         * If you use multiple providers, you need to
         * specify the provider specific ids using
         * the Record option. The key is the provider
         * name, e.g. 'openai' or 'anthropic'.
         */
        fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "custom";
    }, {
        /**
         * Custom content part. This can be used to implement
         * provider-specific content parts.
         */
        type: import("convex/values").VLiteral<"custom", "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
}, "required", "type" | "value">], "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
/**
 * Tool approval request prompt part.
 */
export declare const vToolApprovalRequest: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
}, {
    type: import("convex/values").VLiteral<"tool-approval-request", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * ID of the tool call that the approval request is for.
     */
    toolCallId: import("convex/values").VString<string, "required">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">;
/**
 * Tool approval response prompt part.
 */
export declare const vToolApprovalResponse: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
}, {
    type: import("convex/values").VLiteral<"tool-approval-response", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * Flag indicating whether the approval was granted or denied.
     */
    approved: import("convex/values").VBoolean<boolean, "required">;
    /**
     * Optional reason for the approval or denial.
     */
    reason: import("convex/values").VString<string | undefined, "optional">;
    /**
     * Flag indicating whether the tool call is provider-executed.
     * Only provider-executed tool approval responses should be sent to the model.
     */
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">;
export declare const vToolResultPart: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    output: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"error-text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"error-json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    }, {
        type: import("convex/values").VLiteral<"execution-denied", "required">;
        reason: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    }, {
        type: import("convex/values").VLiteral<"content", "required">;
        value: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            type: "media";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"media", "required">;
            data: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
        }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"file-data", "required">;
            /** Base-64 encoded */
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"file-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        }, {
            type: import("convex/values").VLiteral<"file-id", "required">;
            /**
             * ID of the file.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image-data", "required">;
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"image-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        }, {
            /**
             * Images that are referenced using a provider file id.
             */
            type: import("convex/values").VLiteral<"image-file-id", "required">;
            /**
             * Image that is referenced using a provider file id.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, {
            /**
             * Custom content part. This can be used to implement
             * provider-specific content parts.
             */
            type: import("convex/values").VLiteral<"custom", "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
    }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    result: import("convex/values").VAny<any, "optional", string>;
    isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
    args: import("convex/values").VAny<any, "optional", string>;
    experimental_content: import("convex/values").VArray<({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, [import("convex/values").VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, import("convex/values").VObject<{
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        data: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>;
export declare const vToolContent: import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    output: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"error-text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"error-json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    }, {
        type: import("convex/values").VLiteral<"execution-denied", "required">;
        reason: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    }, {
        type: import("convex/values").VLiteral<"content", "required">;
        value: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            type: "media";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"media", "required">;
            data: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
        }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"file-data", "required">;
            /** Base-64 encoded */
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"file-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        }, {
            type: import("convex/values").VLiteral<"file-id", "required">;
            /**
             * ID of the file.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image-data", "required">;
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"image-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        }, {
            /**
             * Images that are referenced using a provider file id.
             */
            type: import("convex/values").VLiteral<"image-file-id", "required">;
            /**
             * Image that is referenced using a provider file id.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, {
            /**
             * Custom content part. This can be used to implement
             * provider-specific content parts.
             */
            type: import("convex/values").VLiteral<"custom", "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
    }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    result: import("convex/values").VAny<any, "optional", string>;
    isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
    args: import("convex/values").VAny<any, "optional", string>;
    experimental_content: import("convex/values").VArray<({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, [import("convex/values").VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, import("convex/values").VObject<{
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        data: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
}, {
    type: import("convex/values").VLiteral<"tool-approval-response", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * Flag indicating whether the approval was granted or denied.
     */
    approved: import("convex/values").VBoolean<boolean, "required">;
    /**
     * Optional reason for the approval or denial.
     */
    reason: import("convex/values").VString<string | undefined, "optional">;
    /**
     * Flag indicating whether the tool call is provider-executed.
     * Only provider-executed tool approval responses should be sent to the model.
     */
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
export declare const vAssistantContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"file", "required">;
    data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    filename: import("convex/values").VString<string | undefined, "optional">;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
}, {
    type: import("convex/values").VLiteral<"reasoning", "required">;
    text: import("convex/values").VString<string, "required">;
    signature: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
}, {
    type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
    data: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    input: import("convex/values").VAny<any, "required", string>;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "required", string>;
    input: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    output: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"error-text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"error-json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    }, {
        type: import("convex/values").VLiteral<"execution-denied", "required">;
        reason: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    }, {
        type: import("convex/values").VLiteral<"content", "required">;
        value: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            type: "media";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"media", "required">;
            data: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
        }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"file-data", "required">;
            /** Base-64 encoded */
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"file-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        }, {
            type: import("convex/values").VLiteral<"file-id", "required">;
            /**
             * ID of the file.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image-data", "required">;
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"image-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        }, {
            /**
             * Images that are referenced using a provider file id.
             */
            type: import("convex/values").VLiteral<"image-file-id", "required">;
            /**
             * Image that is referenced using a provider file id.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, {
            /**
             * Custom content part. This can be used to implement
             * provider-specific content parts.
             */
            type: import("convex/values").VLiteral<"custom", "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
    }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    result: import("convex/values").VAny<any, "optional", string>;
    isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
    args: import("convex/values").VAny<any, "optional", string>;
    experimental_content: import("convex/values").VArray<({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, [import("convex/values").VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, import("convex/values").VObject<{
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        data: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, [import("convex/values").VObject<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"url", "required">;
    id: import("convex/values").VString<string, "required">;
    url: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"document", "required">;
    id: import("convex/values").VString<string, "required">;
    mediaType: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string, "required">;
    filename: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
}, {
    type: import("convex/values").VLiteral<"tool-approval-request", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * ID of the tool call that the approval request is for.
     */
    toolCallId: import("convex/values").VString<string, "required">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
export declare const vContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
})[] | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
})[] | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
})[], [import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"image", "required">;
    image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"file", "required">;
    data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    filename: import("convex/values").VString<string | undefined, "optional">;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>, import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
}, {
    type: import("convex/values").VLiteral<"text", "required">;
    text: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    mediaType?: string | undefined;
    mimeType?: string | undefined;
    filename?: string | undefined;
    type: "file";
    data: string | ArrayBuffer;
}, {
    type: import("convex/values").VLiteral<"file", "required">;
    data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
    filename: import("convex/values").VString<string | undefined, "optional">;
    mediaType: import("convex/values").VString<string | undefined, "optional">;
    /** @deprecated Use `mediaType` instead. */
    mimeType: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
}, {
    type: import("convex/values").VLiteral<"reasoning", "required">;
    text: import("convex/values").VString<string, "required">;
    signature: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
}, {
    type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
    data: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    input: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    input: import("convex/values").VAny<any, "required", string>;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    input?: any;
    providerExecuted?: boolean | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, {
    type: import("convex/values").VLiteral<"tool-call", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    /** @deprecated Use `input` instead. */
    args: import("convex/values").VAny<any, "required", string>;
    input: import("convex/values").VAny<any, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    output: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"error-text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"error-json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    }, {
        type: import("convex/values").VLiteral<"execution-denied", "required">;
        reason: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    }, {
        type: import("convex/values").VLiteral<"content", "required">;
        value: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            type: "media";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"media", "required">;
            data: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
        }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"file-data", "required">;
            /** Base-64 encoded */
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"file-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        }, {
            type: import("convex/values").VLiteral<"file-id", "required">;
            /**
             * ID of the file.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image-data", "required">;
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"image-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        }, {
            /**
             * Images that are referenced using a provider file id.
             */
            type: import("convex/values").VLiteral<"image-file-id", "required">;
            /**
             * Image that is referenced using a provider file id.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, {
            /**
             * Custom content part. This can be used to implement
             * provider-specific content parts.
             */
            type: import("convex/values").VLiteral<"custom", "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
    }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    result: import("convex/values").VAny<any, "optional", string>;
    isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
    args: import("convex/values").VAny<any, "optional", string>;
    experimental_content: import("convex/values").VArray<({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, [import("convex/values").VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, import("convex/values").VObject<{
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        data: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, [import("convex/values").VObject<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    type: "source";
    url: string;
    sourceType: "url";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"url", "required">;
    id: import("convex/values").VString<string, "required">;
    url: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"document", "required">;
    id: import("convex/values").VString<string, "required">;
    mediaType: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string, "required">;
    filename: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    type: "tool-approval-request";
    toolCallId: string;
    approvalId: string;
}, {
    type: import("convex/values").VLiteral<"tool-approval-request", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * ID of the tool call that the approval request is for.
     */
    toolCallId: import("convex/values").VString<string, "required">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    args?: any;
    providerExecuted?: boolean | undefined;
    output?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined;
    result?: any;
    isError?: boolean | undefined;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    output: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    } | {
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-text";
        value: string;
    }, {
        type: import("convex/values").VLiteral<"error-text", "required">;
        value: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "error-json";
        value: any;
    }, {
        type: import("convex/values").VLiteral<"error-json", "required">;
        value: import("convex/values").VAny<any, "required", string>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        reason?: string | undefined;
        type: "execution-denied";
    }, {
        type: import("convex/values").VLiteral<"execution-denied", "required">;
        reason: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
        type: "content";
        value: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[];
    }, {
        type: import("convex/values").VLiteral<"content", "required">;
        value: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            type: "media";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            type: "media";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"media", "required">;
            data: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
        }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"file-data", "required">;
            /** Base-64 encoded */
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"file-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "file-id";
            fileId: string | Record<string, string>;
        }, {
            type: import("convex/values").VLiteral<"file-id", "required">;
            /**
             * ID of the file.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-data";
            mediaType: string;
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image-data", "required">;
            data: import("convex/values").VString<string, "required">;
            /**
             * IANA media type.
             * @see https://www.iana.org/assignments/media-types/media-types.xhtml
             */
            mediaType: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-url";
            url: string;
        }, {
            type: import("convex/values").VLiteral<"image-url", "required">;
            url: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "image-file-id";
            fileId: string | Record<string, string>;
        }, {
            /**
             * Images that are referenced using a provider file id.
             */
            type: import("convex/values").VLiteral<"image-file-id", "required">;
            /**
             * Image that is referenced using a provider file id.
             *
             * If you use multiple providers, you need to
             * specify the provider specific ids using
             * the Record option. The key is the provider
             * name, e.g. 'openai' or 'anthropic'.
             */
            fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "custom";
        }, {
            /**
             * Custom content part. This can be used to implement
             * provider-specific content parts.
             */
            type: import("convex/values").VLiteral<"custom", "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
    }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    result: import("convex/values").VAny<any, "optional", string>;
    isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
    args: import("convex/values").VAny<any, "optional", string>;
    experimental_content: import("convex/values").VArray<({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, [import("convex/values").VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, import("convex/values").VObject<{
        mimeType?: string | undefined;
        type: "image";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        data: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    providerExecuted?: boolean | undefined;
    reason?: string | undefined;
    type: "tool-approval-response";
    approvalId: string;
    approved: boolean;
}, {
    type: import("convex/values").VLiteral<"tool-approval-response", "required">;
    /**
     * ID of the tool approval.
     */
    approvalId: import("convex/values").VString<string, "required">;
    /**
     * Flag indicating whether the approval was granted or denied.
     */
    approved: import("convex/values").VBoolean<boolean, "required">;
    /**
     * Optional reason for the approval or denial.
     */
    reason: import("convex/values").VString<string | undefined, "optional">;
    /**
     * Flag indicating whether the tool call is provider-executed.
     * Only provider-executed tool approval responses should be sent to the model.
     */
    providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
    /** @todo Should we continue to include? */
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    /** @todo Should we continue to include? */
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">], "required", never>;
export type Content = Infer<typeof vContent>;
export declare const vUserMessage: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "user";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[];
}, {
    role: import("convex/values").VLiteral<"user", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"file", "required">;
        data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        filename: import("convex/values").VString<string | undefined, "optional">;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
export declare const vAssistantMessage: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[];
}, {
    role: import("convex/values").VLiteral<"assistant", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"file", "required">;
        data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        filename: import("convex/values").VString<string | undefined, "optional">;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
        data: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    }, {
        type: import("convex/values").VLiteral<"tool-call", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        input: import("convex/values").VAny<any, "required", string>;
        /** @deprecated Use `input` instead. */
        args: import("convex/values").VAny<any, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, {
        type: import("convex/values").VLiteral<"tool-call", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        /** @deprecated Use `input` instead. */
        args: import("convex/values").VAny<any, "required", string>;
        input: import("convex/values").VAny<any, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        output: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"error-text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"error-json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        }, {
            type: import("convex/values").VLiteral<"execution-denied", "required">;
            reason: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        }, {
            type: import("convex/values").VLiteral<"content", "required">;
            value: import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                type: "media";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"media", "required">;
                data: import("convex/values").VString<string, "required">;
                mediaType: import("convex/values").VString<string, "required">;
            }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"file-data", "required">;
                /** Base-64 encoded */
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                filename: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"file-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            }, {
                type: import("convex/values").VLiteral<"file-id", "required">;
                /**
                 * ID of the file.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image-data", "required">;
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"image-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            }, {
                /**
                 * Images that are referenced using a provider file id.
                 */
                type: import("convex/values").VLiteral<"image-file-id", "required">;
                /**
                 * Image that is referenced using a provider file id.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, {
                /**
                 * Custom content part. This can be used to implement
                 * provider-specific content parts.
                 */
                type: import("convex/values").VLiteral<"custom", "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
        }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        result: import("convex/values").VAny<any, "optional", string>;
        isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
        args: import("convex/values").VAny<any, "optional", string>;
        experimental_content: import("convex/values").VArray<({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined, import("convex/values").VUnion<{
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, [import("convex/values").VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, import("convex/values").VObject<{
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            data: import("convex/values").VString<string, "required">;
            mimeType: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, [import("convex/values").VObject<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"url", "required">;
        id: import("convex/values").VString<string, "required">;
        url: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"document", "required">;
        id: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    }, {
        type: import("convex/values").VLiteral<"tool-approval-request", "required">;
        /**
         * ID of the tool approval.
         */
        approvalId: import("convex/values").VString<string, "required">;
        /**
         * ID of the tool call that the approval request is for.
         */
        toolCallId: import("convex/values").VString<string, "required">;
        /** @todo Should we continue to include? */
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        /** @todo Should we continue to include? */
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
export declare const vToolMessage: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    })[];
}, {
    role: import("convex/values").VLiteral<"tool", "required">;
    content: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        output: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"error-text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"error-json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        }, {
            type: import("convex/values").VLiteral<"execution-denied", "required">;
            reason: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        }, {
            type: import("convex/values").VLiteral<"content", "required">;
            value: import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                type: "media";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"media", "required">;
                data: import("convex/values").VString<string, "required">;
                mediaType: import("convex/values").VString<string, "required">;
            }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"file-data", "required">;
                /** Base-64 encoded */
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                filename: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"file-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            }, {
                type: import("convex/values").VLiteral<"file-id", "required">;
                /**
                 * ID of the file.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image-data", "required">;
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"image-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            }, {
                /**
                 * Images that are referenced using a provider file id.
                 */
                type: import("convex/values").VLiteral<"image-file-id", "required">;
                /**
                 * Image that is referenced using a provider file id.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, {
                /**
                 * Custom content part. This can be used to implement
                 * provider-specific content parts.
                 */
                type: import("convex/values").VLiteral<"custom", "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
        }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        result: import("convex/values").VAny<any, "optional", string>;
        isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
        args: import("convex/values").VAny<any, "optional", string>;
        experimental_content: import("convex/values").VArray<({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined, import("convex/values").VUnion<{
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, [import("convex/values").VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, import("convex/values").VObject<{
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            data: import("convex/values").VString<string, "required">;
            mimeType: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    }, {
        type: import("convex/values").VLiteral<"tool-approval-response", "required">;
        /**
         * ID of the tool approval.
         */
        approvalId: import("convex/values").VString<string, "required">;
        /**
         * Flag indicating whether the approval was granted or denied.
         */
        approved: import("convex/values").VBoolean<boolean, "required">;
        /**
         * Optional reason for the approval or denial.
         */
        reason: import("convex/values").VString<string | undefined, "optional">;
        /**
         * Flag indicating whether the tool call is provider-executed.
         * Only provider-executed tool approval responses should be sent to the model.
         */
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        /** @todo Should we continue to include? */
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        /** @todo Should we continue to include? */
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
export declare const vSystemMessage: import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "system";
    content: string;
}, {
    role: import("convex/values").VLiteral<"system", "required">;
    content: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
export declare const vMessage: import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "user";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    })[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "system";
    content: string;
}, [import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "user";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[];
}, {
    role: import("convex/values").VLiteral<"user", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"image", "required">;
        image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"file", "required">;
        data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        filename: import("convex/values").VString<string | undefined, "optional">;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[];
}, {
    role: import("convex/values").VLiteral<"assistant", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        mediaType?: string | undefined;
        mimeType?: string | undefined;
        filename?: string | undefined;
        type: "file";
        data: string | ArrayBuffer;
    }, {
        type: import("convex/values").VLiteral<"file", "required">;
        data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
        filename: import("convex/values").VString<string | undefined, "optional">;
        mediaType: import("convex/values").VString<string | undefined, "optional">;
        /** @deprecated Use `mediaType` instead. */
        mimeType: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
        data: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        input: any;
    }, {
        type: import("convex/values").VLiteral<"tool-call", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        input: import("convex/values").VAny<any, "required", string>;
        /** @deprecated Use `input` instead. */
        args: import("convex/values").VAny<any, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        input?: any;
        providerExecuted?: boolean | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, {
        type: import("convex/values").VLiteral<"tool-call", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        /** @deprecated Use `input` instead. */
        args: import("convex/values").VAny<any, "required", string>;
        input: import("convex/values").VAny<any, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        output: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"error-text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"error-json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        }, {
            type: import("convex/values").VLiteral<"execution-denied", "required">;
            reason: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        }, {
            type: import("convex/values").VLiteral<"content", "required">;
            value: import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                type: "media";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"media", "required">;
                data: import("convex/values").VString<string, "required">;
                mediaType: import("convex/values").VString<string, "required">;
            }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"file-data", "required">;
                /** Base-64 encoded */
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                filename: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"file-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            }, {
                type: import("convex/values").VLiteral<"file-id", "required">;
                /**
                 * ID of the file.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image-data", "required">;
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"image-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            }, {
                /**
                 * Images that are referenced using a provider file id.
                 */
                type: import("convex/values").VLiteral<"image-file-id", "required">;
                /**
                 * Image that is referenced using a provider file id.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, {
                /**
                 * Custom content part. This can be used to implement
                 * provider-specific content parts.
                 */
                type: import("convex/values").VLiteral<"custom", "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
        }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        result: import("convex/values").VAny<any, "optional", string>;
        isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
        args: import("convex/values").VAny<any, "optional", string>;
        experimental_content: import("convex/values").VArray<({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined, import("convex/values").VUnion<{
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, [import("convex/values").VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, import("convex/values").VObject<{
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            data: import("convex/values").VString<string, "required">;
            mimeType: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, [import("convex/values").VObject<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        type: "source";
        url: string;
        sourceType: "url";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"url", "required">;
        id: import("convex/values").VString<string, "required">;
        url: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"document", "required">;
        id: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        type: "tool-approval-request";
        toolCallId: string;
        approvalId: string;
    }, {
        type: import("convex/values").VLiteral<"tool-approval-request", "required">;
        /**
         * ID of the tool approval.
         */
        approvalId: import("convex/values").VString<string, "required">;
        /**
         * ID of the tool call that the approval request is for.
         */
        toolCallId: import("convex/values").VString<string, "required">;
        /** @todo Should we continue to include? */
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        /** @todo Should we continue to include? */
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    })[];
}, {
    role: import("convex/values").VLiteral<"tool", "required">;
    content: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        args?: any;
        providerExecuted?: boolean | undefined;
        output?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined;
        result?: any;
        isError?: boolean | undefined;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        output: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        } | {
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        } | undefined, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-text";
            value: string;
        }, {
            type: import("convex/values").VLiteral<"error-text", "required">;
            value: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "error-json";
            value: any;
        }, {
            type: import("convex/values").VLiteral<"error-json", "required">;
            value: import("convex/values").VAny<any, "required", string>;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            reason?: string | undefined;
            type: "execution-denied";
        }, {
            type: import("convex/values").VLiteral<"execution-denied", "required">;
            reason: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
            type: "content";
            value: ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[];
        }, {
            type: import("convex/values").VLiteral<"content", "required">;
            value: import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                type: "media";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                type: "media";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"media", "required">;
                data: import("convex/values").VString<string, "required">;
                mediaType: import("convex/values").VString<string, "required">;
            }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"file-data", "required">;
                /** Base-64 encoded */
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                filename: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"file-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "file-id";
                fileId: string | Record<string, string>;
            }, {
                type: import("convex/values").VLiteral<"file-id", "required">;
                /**
                 * ID of the file.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-data";
                mediaType: string;
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image-data", "required">;
                data: import("convex/values").VString<string, "required">;
                /**
                 * IANA media type.
                 * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                 */
                mediaType: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-url";
                url: string;
            }, {
                type: import("convex/values").VLiteral<"image-url", "required">;
                url: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "image-file-id";
                fileId: string | Record<string, string>;
            }, {
                /**
                 * Images that are referenced using a provider file id.
                 */
                type: import("convex/values").VLiteral<"image-file-id", "required">;
                /**
                 * Image that is referenced using a provider file id.
                 *
                 * If you use multiple providers, you need to
                 * specify the provider specific ids using
                 * the Record option. The key is the provider
                 * name, e.g. 'openai' or 'anthropic'.
                 */
                fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "custom";
            }, {
                /**
                 * Custom content part. This can be used to implement
                 * provider-specific content parts.
                 */
                type: import("convex/values").VLiteral<"custom", "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
        }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        result: import("convex/values").VAny<any, "optional", string>;
        isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
        args: import("convex/values").VAny<any, "optional", string>;
        experimental_content: import("convex/values").VArray<({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined, import("convex/values").VUnion<{
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, [import("convex/values").VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, import("convex/values").VObject<{
            mimeType?: string | undefined;
            type: "image";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            data: import("convex/values").VString<string, "required">;
            mimeType: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        providerExecuted?: boolean | undefined;
        reason?: string | undefined;
        type: "tool-approval-response";
        approvalId: string;
        approved: boolean;
    }, {
        type: import("convex/values").VLiteral<"tool-approval-response", "required">;
        /**
         * ID of the tool approval.
         */
        approvalId: import("convex/values").VString<string, "required">;
        /**
         * Flag indicating whether the approval was granted or denied.
         */
        approved: import("convex/values").VBoolean<boolean, "required">;
        /**
         * Optional reason for the approval or denial.
         */
        reason: import("convex/values").VString<string | undefined, "optional">;
        /**
         * Flag indicating whether the tool call is provider-executed.
         * Only provider-executed tool approval responses should be sent to the model.
         */
        providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
        /** @todo Should we continue to include? */
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        /** @todo Should we continue to include? */
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "system";
    content: string;
}, {
    role: import("convex/values").VLiteral<"system", "required">;
    content: import("convex/values").VString<string, "required">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
export type Message = Infer<typeof vMessage>;
export type MessageContentParts = Infer<typeof vTextPart> | Infer<typeof vImagePart> | Infer<typeof vFilePart> | Infer<typeof vReasoningPart> | Infer<typeof vRedactedReasoningPart> | Infer<typeof vToolCallPart> | Infer<typeof vToolResultPart> | Infer<typeof vSourcePart> | Infer<typeof vToolApprovalRequest> | Infer<typeof vToolApprovalResponse>;
export declare const vSource: import("convex/values").VUnion<{
    title?: string | undefined;
    type?: "source" | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    url: string;
    sourceType: "url";
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, [import("convex/values").VObject<{
    title?: string | undefined;
    type?: "source" | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    id: string;
    url: string;
    sourceType: "url";
}, {
    type: import("convex/values").VLiteral<"source" | undefined, "optional">;
    sourceType: import("convex/values").VLiteral<"url", "required">;
    id: import("convex/values").VString<string, "required">;
    url: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    id: string;
    title: string;
    type: "source";
    mediaType: string;
    sourceType: "document";
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    sourceType: import("convex/values").VLiteral<"document", "required">;
    id: import("convex/values").VString<string, "required">;
    mediaType: import("convex/values").VString<string, "required">;
    title: import("convex/values").VString<string, "required">;
    filename: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">;
export declare const vRequest: import("convex/values").VObject<{
    url?: string | undefined;
    body?: any;
    headers?: Record<string, string> | undefined;
    method?: string | undefined;
}, {
    body: import("convex/values").VAny<any, "optional", string>;
    headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
    method: import("convex/values").VString<string | undefined, "optional">;
    url: import("convex/values").VString<string | undefined, "optional">;
}, "required", "url" | "body" | "headers" | "method" | `body.${string}` | `headers.${string}`>;
export declare const vFinishReason: import("convex/values").VUnion<"error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown", [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "required", never>;
export declare const vUsage: import("convex/values").VObject<{
    reasoningTokens?: number | undefined;
    cachedInputTokens?: number | undefined;
    promptTokens: number;
    completionTokens: number;
    totalTokens: number;
}, {
    promptTokens: import("convex/values").VFloat64<number, "required">;
    completionTokens: import("convex/values").VFloat64<number, "required">;
    totalTokens: import("convex/values").VFloat64<number, "required">;
    reasoningTokens: import("convex/values").VFloat64<number | undefined, "optional">;
    cachedInputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
}, "required", "promptTokens" | "completionTokens" | "totalTokens" | "reasoningTokens" | "cachedInputTokens">;
export type Usage = Infer<typeof vUsage>;
export declare const vLanguageModelCallWarning: import("convex/values").VUnion<{
    details?: string | undefined;
    type: "unsupported-setting";
    setting: string;
} | {
    details?: string | undefined;
    type: "unsupported-tool";
    tool: any;
} | {
    type: "other";
    message: string;
}, [import("convex/values").VObject<{
    details?: string | undefined;
    type: "unsupported-setting";
    setting: string;
}, {
    type: import("convex/values").VLiteral<"unsupported-setting", "required">;
    setting: import("convex/values").VString<string, "required">;
    details: import("convex/values").VString<string | undefined, "optional">;
}, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
    details?: string | undefined;
    type: "unsupported-tool";
    tool: any;
}, {
    type: import("convex/values").VLiteral<"unsupported-tool", "required">;
    tool: import("convex/values").VAny<any, "required", string>;
    details: import("convex/values").VString<string | undefined, "optional">;
}, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
    type: "other";
    message: string;
}, {
    type: import("convex/values").VLiteral<"other", "required">;
    message: import("convex/values").VString<string, "required">;
}, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>;
export declare const vMessageWithMetadataInternal: import("convex/values").VObject<{
    status?: "pending" | "success" | "failed" | undefined;
    fileIds?: import("convex/values").GenericId<"files">[] | undefined;
    error?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    text?: string | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    reasoning?: string | undefined;
    usage?: {
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined;
    sources?: ({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    finishReason?: "error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
    reasoningDetails?: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined;
    message: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    };
}, {
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
            data: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            input: import("convex/values").VAny<any, "required", string>;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "required", string>;
            input: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, [import("convex/values").VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"url", "required">;
            id: import("convex/values").VString<string, "required">;
            url: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"document", "required">;
            id: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-request", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * ID of the tool call that the approval request is for.
             */
            toolCallId: import("convex/values").VString<string, "required">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-response", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * Flag indicating whether the approval was granted or denied.
             */
            approved: import("convex/values").VBoolean<boolean, "required">;
            /**
             * Optional reason for the approval or denial.
             */
            reason: import("convex/values").VString<string | undefined, "optional">;
            /**
             * Flag indicating whether the tool call is provider-executed.
             * Only provider-executed tool approval responses should be sent to the model.
             */
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
    text: import("convex/values").VString<string | undefined, "optional">;
    fileIds: import("convex/values").VArray<import("convex/values").GenericId<"files">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"files">, "required">, "optional">;
    status: import("convex/values").VUnion<"pending" | "success" | "failed" | undefined, [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "optional", never>;
    finishReason: import("convex/values").VUnion<"error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined, [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "optional", never>;
    model: import("convex/values").VString<string | undefined, "optional">;
    provider: import("convex/values").VString<string | undefined, "optional">;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    sources: import("convex/values").VArray<({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined, import("convex/values").VUnion<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, [import("convex/values").VObject<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    }, {
        type: import("convex/values").VLiteral<"source" | undefined, "optional">;
        sourceType: import("convex/values").VLiteral<"url", "required">;
        id: import("convex/values").VString<string, "required">;
        url: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"document", "required">;
        id: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, "optional">;
    reasoning: import("convex/values").VString<string | undefined, "optional">;
    reasoningDetails: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
        signature?: string | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data" | "signature">, "optional">;
    usage: import("convex/values").VObject<{
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined, {
        promptTokens: import("convex/values").VFloat64<number, "required">;
        completionTokens: import("convex/values").VFloat64<number, "required">;
        totalTokens: import("convex/values").VFloat64<number, "required">;
        reasoningTokens: import("convex/values").VFloat64<number | undefined, "optional">;
        cachedInputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
    }, "optional", "promptTokens" | "completionTokens" | "totalTokens" | "reasoningTokens" | "cachedInputTokens">;
    warnings: import("convex/values").VArray<({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined, import("convex/values").VUnion<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    }, [import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    }, {
        type: import("convex/values").VLiteral<"unsupported-setting", "required">;
        setting: import("convex/values").VString<string, "required">;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    }, {
        type: import("convex/values").VLiteral<"unsupported-tool", "required">;
        tool: import("convex/values").VAny<any, "required", string>;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
        type: "other";
        message: string;
    }, {
        type: import("convex/values").VLiteral<"other", "required">;
        message: import("convex/values").VString<string, "required">;
    }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
    error: import("convex/values").VString<string | undefined, "optional">;
}, "required", "status" | "fileIds" | "error" | "model" | "provider" | "message" | "text" | "providerMetadata" | `providerMetadata.${string}` | "reasoning" | "usage" | "sources" | "warnings" | "finishReason" | "reasoningDetails" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | "usage.reasoningTokens" | "usage.cachedInputTokens">;
export type MessageWithMetadataInternal = Infer<typeof vMessageWithMetadataInternal>;
export declare const vMessageWithMetadata: import("convex/values").VObject<{
    status?: "pending" | "success" | "failed" | undefined;
    fileIds?: string[] | undefined;
    error?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    text?: string | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    reasoning?: string | undefined;
    usage?: {
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined;
    sources?: ({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    finishReason?: "error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
    reasoningDetails?: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined;
    message: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    };
}, {
    fileIds: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
            data: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            input: import("convex/values").VAny<any, "required", string>;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "required", string>;
            input: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, [import("convex/values").VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"url", "required">;
            id: import("convex/values").VString<string, "required">;
            url: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"document", "required">;
            id: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-request", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * ID of the tool call that the approval request is for.
             */
            toolCallId: import("convex/values").VString<string, "required">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-response", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * Flag indicating whether the approval was granted or denied.
             */
            approved: import("convex/values").VBoolean<boolean, "required">;
            /**
             * Optional reason for the approval or denial.
             */
            reason: import("convex/values").VString<string | undefined, "optional">;
            /**
             * Flag indicating whether the tool call is provider-executed.
             * Only provider-executed tool approval responses should be sent to the model.
             */
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
    text: import("convex/values").VString<string | undefined, "optional">;
    status: import("convex/values").VUnion<"pending" | "success" | "failed" | undefined, [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "optional", never>;
    finishReason: import("convex/values").VUnion<"error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined, [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "optional", never>;
    model: import("convex/values").VString<string | undefined, "optional">;
    provider: import("convex/values").VString<string | undefined, "optional">;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    sources: import("convex/values").VArray<({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined, import("convex/values").VUnion<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, [import("convex/values").VObject<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    }, {
        type: import("convex/values").VLiteral<"source" | undefined, "optional">;
        sourceType: import("convex/values").VLiteral<"url", "required">;
        id: import("convex/values").VString<string, "required">;
        url: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"document", "required">;
        id: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, "optional">;
    reasoning: import("convex/values").VString<string | undefined, "optional">;
    reasoningDetails: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
        signature?: string | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data" | "signature">, "optional">;
    usage: import("convex/values").VObject<{
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined, {
        promptTokens: import("convex/values").VFloat64<number, "required">;
        completionTokens: import("convex/values").VFloat64<number, "required">;
        totalTokens: import("convex/values").VFloat64<number, "required">;
        reasoningTokens: import("convex/values").VFloat64<number | undefined, "optional">;
        cachedInputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
    }, "optional", "promptTokens" | "completionTokens" | "totalTokens" | "reasoningTokens" | "cachedInputTokens">;
    warnings: import("convex/values").VArray<({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined, import("convex/values").VUnion<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    }, [import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    }, {
        type: import("convex/values").VLiteral<"unsupported-setting", "required">;
        setting: import("convex/values").VString<string, "required">;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    }, {
        type: import("convex/values").VLiteral<"unsupported-tool", "required">;
        tool: import("convex/values").VAny<any, "required", string>;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
        type: "other";
        message: string;
    }, {
        type: import("convex/values").VLiteral<"other", "required">;
        message: import("convex/values").VString<string, "required">;
    }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
    error: import("convex/values").VString<string | undefined, "optional">;
}, "required", "status" | "fileIds" | "error" | "model" | "provider" | "message" | "text" | "providerMetadata" | `providerMetadata.${string}` | "reasoning" | "usage" | "sources" | "warnings" | "finishReason" | "reasoningDetails" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | "usage.reasoningTokens" | "usage.cachedInputTokens">;
export type MessageWithMetadata = Infer<typeof vMessageWithMetadata>;
export declare const vMessageEmbeddingsWithDimension: import("convex/values").VObject<{
    model: string;
    dimension: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
    vectors: (number[] | null)[];
}, {
    model: import("convex/values").VString<string, "required">;
    dimension: import("convex/values").VUnion<128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096, NoInfer<[import("convex/values").VLiteral<128, "required">, import("convex/values").VLiteral<256, "required">, import("convex/values").VLiteral<512, "required">, import("convex/values").VLiteral<768, "required">, import("convex/values").VLiteral<1024, "required">, import("convex/values").VLiteral<1408, "required">, import("convex/values").VLiteral<1536, "required">, import("convex/values").VLiteral<2048, "required">, import("convex/values").VLiteral<3072, "required">, import("convex/values").VLiteral<4096, "required">]>, "required", never>;
    vectors: import("convex/values").VArray<(number[] | null)[], import("convex/values").VUnion<number[] | null, [import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>, "required">;
}, "required", "model" | "dimension" | "vectors">;
export type MessageEmbeddingsWithDimension = Infer<typeof vMessageEmbeddingsWithDimension>;
export declare const vMessageEmbeddings: import("convex/values").VObject<{
    model: string;
    vectors: (number[] | null)[];
}, {
    model: import("convex/values").VString<string, "required">;
    vectors: import("convex/values").VArray<(number[] | null)[], import("convex/values").VUnion<number[] | null, [import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>, "required">;
}, "required", "model" | "vectors">;
export type MessageEmbeddings = Infer<typeof vMessageEmbeddings>;
export declare const vContextOptionsSearchOptions: import("convex/values").VObject<{
    textSearch?: boolean | undefined;
    vectorSearch?: boolean | undefined;
    vectorScoreThreshold?: number | undefined;
    messageRange?: {
        before: number;
        after: number;
    } | undefined;
    limit: number;
}, {
    limit: import("convex/values").VFloat64<number, "required">;
    textSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
    vectorSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
    vectorScoreThreshold: import("convex/values").VFloat64<number | undefined, "optional">;
    messageRange: import("convex/values").VObject<{
        before: number;
        after: number;
    } | undefined, {
        before: import("convex/values").VFloat64<number, "required">;
        after: import("convex/values").VFloat64<number, "required">;
    }, "optional", "before" | "after">;
}, "required", "limit" | "textSearch" | "vectorSearch" | "vectorScoreThreshold" | "messageRange" | "messageRange.before" | "messageRange.after">;
export declare const vContextOptions: import("convex/values").VObject<{
    excludeToolMessages?: boolean | undefined;
    recentMessages?: number | undefined;
    searchOptions?: {
        textSearch?: boolean | undefined;
        vectorSearch?: boolean | undefined;
        vectorScoreThreshold?: number | undefined;
        messageRange?: {
            before: number;
            after: number;
        } | undefined;
        limit: number;
    } | undefined;
    searchOtherThreads?: boolean | undefined;
}, {
    excludeToolMessages: import("convex/values").VBoolean<boolean | undefined, "optional">;
    recentMessages: import("convex/values").VFloat64<number | undefined, "optional">;
    searchOptions: import("convex/values").VObject<{
        textSearch?: boolean | undefined;
        vectorSearch?: boolean | undefined;
        vectorScoreThreshold?: number | undefined;
        messageRange?: {
            before: number;
            after: number;
        } | undefined;
        limit: number;
    } | undefined, {
        limit: import("convex/values").VFloat64<number, "required">;
        textSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
        vectorSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
        vectorScoreThreshold: import("convex/values").VFloat64<number | undefined, "optional">;
        messageRange: import("convex/values").VObject<{
            before: number;
            after: number;
        } | undefined, {
            before: import("convex/values").VFloat64<number, "required">;
            after: import("convex/values").VFloat64<number, "required">;
        }, "optional", "before" | "after">;
    }, "optional", "limit" | "textSearch" | "vectorSearch" | "vectorScoreThreshold" | "messageRange" | "messageRange.before" | "messageRange.after">;
    searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
}, "required", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.textSearch" | "searchOptions.vectorSearch" | "searchOptions.vectorScoreThreshold" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after">;
export declare const vStorageOptions: import("convex/values").VObject<{
    saveMessages?: "all" | "none" | "promptAndOutput" | undefined;
}, {
    saveMessages: import("convex/values").VUnion<"all" | "none" | "promptAndOutput" | undefined, [import("convex/values").VLiteral<"all", "required">, import("convex/values").VLiteral<"none", "required">, import("convex/values").VLiteral<"promptAndOutput", "required">], "optional", never>;
}, "required", "saveMessages">;
export declare const vCallSettings: import("convex/values").VObject<{
    headers?: Record<string, string> | undefined;
    maxOutputTokens?: number | undefined;
    temperature?: number | undefined;
    topP?: number | undefined;
    topK?: number | undefined;
    presencePenalty?: number | undefined;
    frequencyPenalty?: number | undefined;
    stopSequences?: string[] | undefined;
    seed?: number | undefined;
    maxRetries?: number | undefined;
}, {
    maxOutputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
    temperature: import("convex/values").VFloat64<number | undefined, "optional">;
    topP: import("convex/values").VFloat64<number | undefined, "optional">;
    topK: import("convex/values").VFloat64<number | undefined, "optional">;
    presencePenalty: import("convex/values").VFloat64<number | undefined, "optional">;
    frequencyPenalty: import("convex/values").VFloat64<number | undefined, "optional">;
    stopSequences: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
    seed: import("convex/values").VFloat64<number | undefined, "optional">;
    maxRetries: import("convex/values").VFloat64<number | undefined, "optional">;
    headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
}, "required", "headers" | `headers.${string}` | "maxOutputTokens" | "temperature" | "topP" | "topK" | "presencePenalty" | "frequencyPenalty" | "stopSequences" | "seed" | "maxRetries">;
export type CallSettings = Infer<typeof vCallSettings>;
export declare const vTextArgs: import("convex/values").VObject<{
    userId?: string | undefined;
    threadId?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    system?: string | undefined;
    messages?: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined;
    stream?: boolean | undefined;
    toolChoice?: "required" | "none" | "auto" | {
        type: "tool";
        toolName: string;
    } | undefined;
    maxSteps?: number | undefined;
    experimental_continueSteps?: boolean | undefined;
    prompt?: string | undefined;
    promptMessageId?: string | undefined;
    contextOptions?: {
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined;
    storageOptions?: {
        saveMessages?: "all" | "none" | "promptAndOutput" | undefined;
    } | undefined;
    callSettings?: {
        headers?: Record<string, string> | undefined;
        maxOutputTokens?: number | undefined;
        temperature?: number | undefined;
        topP?: number | undefined;
        topK?: number | undefined;
        presencePenalty?: number | undefined;
        frequencyPenalty?: number | undefined;
        stopSequences?: string[] | undefined;
        seed?: number | undefined;
        maxRetries?: number | undefined;
    } | undefined;
}, {
    stream: import("convex/values").VBoolean<boolean | undefined, "optional">;
    toolChoice: import("convex/values").VUnion<"required" | "none" | "auto" | {
        type: "tool";
        toolName: string;
    } | undefined, [import("convex/values").VLiteral<"auto", "required">, import("convex/values").VLiteral<"none", "required">, import("convex/values").VLiteral<"required", "required">, import("convex/values").VObject<{
        type: "tool";
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool", "required">;
        toolName: import("convex/values").VString<string, "required">;
    }, "required", "type" | "toolName">], "optional", "type" | "toolName">;
    maxSteps: import("convex/values").VFloat64<number | undefined, "optional">;
    experimental_continueSteps: import("convex/values").VBoolean<boolean | undefined, "optional">;
    system: import("convex/values").VString<string | undefined, "optional">;
    prompt: import("convex/values").VString<string | undefined, "optional">;
    messages: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
            data: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            input: import("convex/values").VAny<any, "required", string>;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "required", string>;
            input: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, [import("convex/values").VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"url", "required">;
            id: import("convex/values").VString<string, "required">;
            url: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"document", "required">;
            id: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-request", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * ID of the tool call that the approval request is for.
             */
            toolCallId: import("convex/values").VString<string, "required">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-response", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * Flag indicating whether the approval was granted or denied.
             */
            approved: import("convex/values").VBoolean<boolean, "required">;
            /**
             * Optional reason for the approval or denial.
             */
            reason: import("convex/values").VString<string | undefined, "optional">;
            /**
             * Flag indicating whether the tool call is provider-executed.
             * Only provider-executed tool approval responses should be sent to the model.
             */
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, "optional">;
    promptMessageId: import("convex/values").VString<string | undefined, "optional">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    threadId: import("convex/values").VString<string | undefined, "optional">;
    contextOptions: import("convex/values").VObject<{
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined, {
        excludeToolMessages: import("convex/values").VBoolean<boolean | undefined, "optional">;
        recentMessages: import("convex/values").VFloat64<number | undefined, "optional">;
        searchOptions: import("convex/values").VObject<{
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined, {
            limit: import("convex/values").VFloat64<number, "required">;
            textSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
            vectorSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
            vectorScoreThreshold: import("convex/values").VFloat64<number | undefined, "optional">;
            messageRange: import("convex/values").VObject<{
                before: number;
                after: number;
            } | undefined, {
                before: import("convex/values").VFloat64<number, "required">;
                after: import("convex/values").VFloat64<number, "required">;
            }, "optional", "before" | "after">;
        }, "optional", "limit" | "textSearch" | "vectorSearch" | "vectorScoreThreshold" | "messageRange" | "messageRange.before" | "messageRange.after">;
        searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
    }, "optional", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.textSearch" | "searchOptions.vectorSearch" | "searchOptions.vectorScoreThreshold" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after">;
    storageOptions: import("convex/values").VObject<{
        saveMessages?: "all" | "none" | "promptAndOutput" | undefined;
    } | undefined, {
        saveMessages: import("convex/values").VUnion<"all" | "none" | "promptAndOutput" | undefined, [import("convex/values").VLiteral<"all", "required">, import("convex/values").VLiteral<"none", "required">, import("convex/values").VLiteral<"promptAndOutput", "required">], "optional", never>;
    }, "optional", "saveMessages">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    callSettings: import("convex/values").VObject<{
        headers?: Record<string, string> | undefined;
        maxOutputTokens?: number | undefined;
        temperature?: number | undefined;
        topP?: number | undefined;
        topK?: number | undefined;
        presencePenalty?: number | undefined;
        frequencyPenalty?: number | undefined;
        stopSequences?: string[] | undefined;
        seed?: number | undefined;
        maxRetries?: number | undefined;
    } | undefined, {
        maxOutputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
        temperature: import("convex/values").VFloat64<number | undefined, "optional">;
        topP: import("convex/values").VFloat64<number | undefined, "optional">;
        topK: import("convex/values").VFloat64<number | undefined, "optional">;
        presencePenalty: import("convex/values").VFloat64<number | undefined, "optional">;
        frequencyPenalty: import("convex/values").VFloat64<number | undefined, "optional">;
        stopSequences: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        seed: import("convex/values").VFloat64<number | undefined, "optional">;
        maxRetries: import("convex/values").VFloat64<number | undefined, "optional">;
        headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
    }, "optional", "headers" | `headers.${string}` | "maxOutputTokens" | "temperature" | "topP" | "topK" | "presencePenalty" | "frequencyPenalty" | "stopSequences" | "seed" | "maxRetries">;
}, "required", "userId" | "threadId" | "providerOptions" | `providerOptions.${string}` | "system" | "messages" | "stream" | "toolChoice" | "maxSteps" | "experimental_continueSteps" | "prompt" | "promptMessageId" | "contextOptions" | "storageOptions" | "callSettings" | "toolChoice.type" | "toolChoice.toolName" | "contextOptions.excludeToolMessages" | "contextOptions.recentMessages" | "contextOptions.searchOptions" | "contextOptions.searchOtherThreads" | "contextOptions.searchOptions.limit" | "contextOptions.searchOptions.textSearch" | "contextOptions.searchOptions.vectorSearch" | "contextOptions.searchOptions.vectorScoreThreshold" | "contextOptions.searchOptions.messageRange" | "contextOptions.searchOptions.messageRange.before" | "contextOptions.searchOptions.messageRange.after" | "storageOptions.saveMessages" | "callSettings.headers" | `callSettings.headers.${string}` | "callSettings.maxOutputTokens" | "callSettings.temperature" | "callSettings.topP" | "callSettings.topK" | "callSettings.presencePenalty" | "callSettings.frequencyPenalty" | "callSettings.stopSequences" | "callSettings.seed" | "callSettings.maxRetries">;
export type TextArgs = Infer<typeof vTextArgs>;
export declare const vSafeObjectArgs: import("convex/values").VObject<{
    userId?: string | undefined;
    threadId?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    system?: string | undefined;
    messages?: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined;
    prompt?: string | undefined;
    promptMessageId?: string | undefined;
    contextOptions?: {
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined;
    storageOptions?: {
        saveMessages?: "all" | "none" | "promptAndOutput" | undefined;
    } | undefined;
    callSettings?: {
        headers?: Record<string, string> | undefined;
        maxOutputTokens?: number | undefined;
        temperature?: number | undefined;
        topP?: number | undefined;
        topK?: number | undefined;
        presencePenalty?: number | undefined;
        frequencyPenalty?: number | undefined;
        stopSequences?: string[] | undefined;
        seed?: number | undefined;
        maxRetries?: number | undefined;
    } | undefined;
}, {
    system: import("convex/values").VString<string | undefined, "optional">;
    prompt: import("convex/values").VString<string | undefined, "optional">;
    messages: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
            data: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            input: import("convex/values").VAny<any, "required", string>;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "required", string>;
            input: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, [import("convex/values").VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"url", "required">;
            id: import("convex/values").VString<string, "required">;
            url: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"document", "required">;
            id: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-request", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * ID of the tool call that the approval request is for.
             */
            toolCallId: import("convex/values").VString<string, "required">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-response", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * Flag indicating whether the approval was granted or denied.
             */
            approved: import("convex/values").VBoolean<boolean, "required">;
            /**
             * Optional reason for the approval or denial.
             */
            reason: import("convex/values").VString<string | undefined, "optional">;
            /**
             * Flag indicating whether the tool call is provider-executed.
             * Only provider-executed tool approval responses should be sent to the model.
             */
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, "optional">;
    promptMessageId: import("convex/values").VString<string | undefined, "optional">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    threadId: import("convex/values").VString<string | undefined, "optional">;
    contextOptions: import("convex/values").VObject<{
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined, {
        excludeToolMessages: import("convex/values").VBoolean<boolean | undefined, "optional">;
        recentMessages: import("convex/values").VFloat64<number | undefined, "optional">;
        searchOptions: import("convex/values").VObject<{
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            vectorScoreThreshold?: number | undefined;
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            limit: number;
        } | undefined, {
            limit: import("convex/values").VFloat64<number, "required">;
            textSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
            vectorSearch: import("convex/values").VBoolean<boolean | undefined, "optional">;
            vectorScoreThreshold: import("convex/values").VFloat64<number | undefined, "optional">;
            messageRange: import("convex/values").VObject<{
                before: number;
                after: number;
            } | undefined, {
                before: import("convex/values").VFloat64<number, "required">;
                after: import("convex/values").VFloat64<number, "required">;
            }, "optional", "before" | "after">;
        }, "optional", "limit" | "textSearch" | "vectorSearch" | "vectorScoreThreshold" | "messageRange" | "messageRange.before" | "messageRange.after">;
        searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
    }, "optional", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.textSearch" | "searchOptions.vectorSearch" | "searchOptions.vectorScoreThreshold" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after">;
    storageOptions: import("convex/values").VObject<{
        saveMessages?: "all" | "none" | "promptAndOutput" | undefined;
    } | undefined, {
        saveMessages: import("convex/values").VUnion<"all" | "none" | "promptAndOutput" | undefined, [import("convex/values").VLiteral<"all", "required">, import("convex/values").VLiteral<"none", "required">, import("convex/values").VLiteral<"promptAndOutput", "required">], "optional", never>;
    }, "optional", "saveMessages">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    callSettings: import("convex/values").VObject<{
        headers?: Record<string, string> | undefined;
        maxOutputTokens?: number | undefined;
        temperature?: number | undefined;
        topP?: number | undefined;
        topK?: number | undefined;
        presencePenalty?: number | undefined;
        frequencyPenalty?: number | undefined;
        stopSequences?: string[] | undefined;
        seed?: number | undefined;
        maxRetries?: number | undefined;
    } | undefined, {
        maxOutputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
        temperature: import("convex/values").VFloat64<number | undefined, "optional">;
        topP: import("convex/values").VFloat64<number | undefined, "optional">;
        topK: import("convex/values").VFloat64<number | undefined, "optional">;
        presencePenalty: import("convex/values").VFloat64<number | undefined, "optional">;
        frequencyPenalty: import("convex/values").VFloat64<number | undefined, "optional">;
        stopSequences: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        seed: import("convex/values").VFloat64<number | undefined, "optional">;
        maxRetries: import("convex/values").VFloat64<number | undefined, "optional">;
        headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
    }, "optional", "headers" | `headers.${string}` | "maxOutputTokens" | "temperature" | "topP" | "topK" | "presencePenalty" | "frequencyPenalty" | "stopSequences" | "seed" | "maxRetries">;
}, "required", "userId" | "threadId" | "providerOptions" | `providerOptions.${string}` | "system" | "messages" | "prompt" | "promptMessageId" | "contextOptions" | "storageOptions" | "callSettings" | "contextOptions.excludeToolMessages" | "contextOptions.recentMessages" | "contextOptions.searchOptions" | "contextOptions.searchOtherThreads" | "contextOptions.searchOptions.limit" | "contextOptions.searchOptions.textSearch" | "contextOptions.searchOptions.vectorSearch" | "contextOptions.searchOptions.vectorScoreThreshold" | "contextOptions.searchOptions.messageRange" | "contextOptions.searchOptions.messageRange.before" | "contextOptions.searchOptions.messageRange.after" | "storageOptions.saveMessages" | "callSettings.headers" | `callSettings.headers.${string}` | "callSettings.maxOutputTokens" | "callSettings.temperature" | "callSettings.topP" | "callSettings.topK" | "callSettings.presencePenalty" | "callSettings.frequencyPenalty" | "callSettings.stopSequences" | "callSettings.seed" | "callSettings.maxRetries">;
export type SafeObjectArgs = Infer<typeof vSafeObjectArgs>;
export declare const vEmbeddingsWithMetadata: import("convex/values").VObject<{
    model: string;
    dimension: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
    vectors: (number[] | null)[];
}, {
    vectors: import("convex/values").VArray<(number[] | null)[], import("convex/values").VUnion<number[] | null, [import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>, "required">;
    dimension: import("convex/values").VUnion<128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096, NoInfer<[import("convex/values").VLiteral<128, "required">, import("convex/values").VLiteral<256, "required">, import("convex/values").VLiteral<512, "required">, import("convex/values").VLiteral<768, "required">, import("convex/values").VLiteral<1024, "required">, import("convex/values").VLiteral<1408, "required">, import("convex/values").VLiteral<1536, "required">, import("convex/values").VLiteral<2048, "required">, import("convex/values").VLiteral<3072, "required">, import("convex/values").VLiteral<4096, "required">]>, "required", never>;
    model: import("convex/values").VString<string, "required">;
}, "required", "model" | "dimension" | "vectors">;
export type EmbeddingsWithMetadata = Infer<typeof vEmbeddingsWithMetadata>;
export declare function vPaginationResult<T extends Validator<Value, "required", string>>(itemValidator: T): import("convex/values").VObject<{
    splitCursor?: string | null | undefined;
    pageStatus?: "SplitRecommended" | "SplitRequired" | null | undefined;
    page: T["type"][];
    continueCursor: string;
    isDone: boolean;
}, {
    page: import("convex/values").VArray<T["type"][], T, "required">;
    continueCursor: import("convex/values").VString<string, "required">;
    isDone: import("convex/values").VBoolean<boolean, "required">;
    splitCursor: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
    pageStatus: import("convex/values").VUnion<"SplitRecommended" | "SplitRequired" | null | undefined, [import("convex/values").VLiteral<"SplitRecommended", "required">, import("convex/values").VLiteral<"SplitRequired", "required">, import("convex/values").VNull<null, "required">], "optional", never>;
}, "required", "page" | "continueCursor" | "isDone" | "splitCursor" | "pageStatus">;
export declare const vStreamCursor: import("convex/values").VObject<{
    streamId: string;
    cursor: number;
}, {
    streamId: import("convex/values").VString<string, "required">;
    cursor: import("convex/values").VFloat64<number, "required">;
}, "required", "streamId" | "cursor">;
export type StreamCursor = Infer<typeof vStreamCursor>;
export declare const vStreamArgs: import("convex/values").VUnion<{
    startOrder?: number | undefined;
    kind: "list";
} | {
    kind: "deltas";
    cursors: {
        streamId: string;
        cursor: number;
    }[];
} | undefined, [import("convex/values").VObject<{
    startOrder?: number | undefined;
    kind: "list";
}, {
    kind: import("convex/values").VLiteral<"list", "required">;
    startOrder: import("convex/values").VFloat64<number | undefined, "optional">;
}, "required", "kind" | "startOrder">, import("convex/values").VObject<{
    kind: "deltas";
    cursors: {
        streamId: string;
        cursor: number;
    }[];
}, {
    kind: import("convex/values").VLiteral<"deltas", "required">;
    cursors: import("convex/values").VArray<{
        streamId: string;
        cursor: number;
    }[], import("convex/values").VObject<{
        streamId: string;
        cursor: number;
    }, {
        streamId: import("convex/values").VString<string, "required">;
        cursor: import("convex/values").VFloat64<number, "required">;
    }, "required", "streamId" | "cursor">, "required">;
}, "required", "kind" | "cursors">], "optional", "kind" | "startOrder" | "cursors">;
export type StreamArgs = Infer<typeof vStreamArgs>;
export declare const vStreamMessage: import("convex/values").VObject<{
    userId?: string | undefined;
    agentName?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    format?: "UIMessageChunk" | "TextStreamPart" | undefined;
    status: "streaming" | "finished" | "aborted";
    order: number;
    stepOrder: number;
    streamId: string;
}, {
    streamId: import("convex/values").VString<string, "required">;
    status: import("convex/values").VUnion<"streaming" | "finished" | "aborted", [import("convex/values").VLiteral<"streaming", "required">, import("convex/values").VLiteral<"finished", "required">, import("convex/values").VLiteral<"aborted", "required">], "required", never>;
    format: import("convex/values").VUnion<"UIMessageChunk" | "TextStreamPart" | undefined, [import("convex/values").VLiteral<"UIMessageChunk", "required">, import("convex/values").VLiteral<"TextStreamPart", "required">], "optional", never>;
    order: import("convex/values").VFloat64<number, "required">;
    stepOrder: import("convex/values").VFloat64<number, "required">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    agentName: import("convex/values").VString<string | undefined, "optional">;
    model: import("convex/values").VString<string | undefined, "optional">;
    provider: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
}, "required", "status" | "userId" | "order" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "format" | "streamId">;
export type StreamMessage = Infer<typeof vStreamMessage>;
export declare const vStreamDelta: import("convex/values").VObject<{
    streamId: string;
    start: number;
    end: number;
    parts: any[];
}, {
    streamId: import("convex/values").VString<string, "required">;
    start: import("convex/values").VFloat64<number, "required">;
    end: import("convex/values").VFloat64<number, "required">;
    parts: import("convex/values").VArray<any[], import("convex/values").VAny<any, "required", string>, "required">;
}, "required", "streamId" | "start" | "end" | "parts">;
export type StreamDelta = Infer<typeof vStreamDelta>;
export declare const vMessageDoc: import("convex/values").VObject<{
    id?: string | undefined;
    userId?: string | undefined;
    embeddingId?: string | undefined;
    fileIds?: string[] | undefined;
    error?: string | undefined;
    agentName?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    message?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    } | undefined;
    text?: string | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    reasoning?: string | undefined;
    usage?: {
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined;
    sources?: ({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    finishReason?: "error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
    reasoningDetails?: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined;
    status: "pending" | "success" | "failed";
    order: number;
    _creationTime: number;
    threadId: string;
    stepOrder: number;
    tool: boolean;
    _id: string;
}, {
    _id: import("convex/values").VString<string, "required">;
    _creationTime: import("convex/values").VFloat64<number, "required">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    threadId: import("convex/values").VString<string, "required">;
    order: import("convex/values").VFloat64<number, "required">;
    stepOrder: import("convex/values").VFloat64<number, "required">;
    embeddingId: import("convex/values").VString<string | undefined, "optional">;
    fileIds: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
    error: import("convex/values").VString<string | undefined, "optional">;
    status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
    agentName: import("convex/values").VString<string | undefined, "optional">;
    model: import("convex/values").VString<string | undefined, "optional">;
    provider: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    } | undefined, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"image", "required">;
            image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mediaType" | "mimeType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mediaType" | "mimeType" | "data" | "filename">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            mediaType?: string | undefined;
            mimeType?: string | undefined;
            filename?: string | undefined;
            type: "file";
            data: string | ArrayBuffer;
        }, {
            type: import("convex/values").VLiteral<"file", "required">;
            data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>;
            filename: import("convex/values").VString<string | undefined, "optional">;
            mediaType: import("convex/values").VString<string | undefined, "optional">;
            /** @deprecated Use `mediaType` instead. */
            mimeType: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted-reasoning", "required">;
            data: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data">, import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            input: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            input: import("convex/values").VAny<any, "required", string>;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            input?: any;
            providerExecuted?: boolean | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, {
            type: import("convex/values").VLiteral<"tool-call", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            /** @deprecated Use `input` instead. */
            args: import("convex/values").VAny<any, "required", string>;
            input: import("convex/values").VAny<any, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VUnion<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, [import("convex/values").VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            id: string;
            type: "source";
            url: string;
            sourceType: "url";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"url", "required">;
            id: import("convex/values").VString<string, "required">;
            url: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            id: string;
            title: string;
            type: "source";
            mediaType: string;
            sourceType: "document";
        }, {
            type: import("convex/values").VLiteral<"source", "required">;
            sourceType: import("convex/values").VLiteral<"document", "required">;
            id: import("convex/values").VString<string, "required">;
            mediaType: import("convex/values").VString<string, "required">;
            title: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            type: "tool-approval-request";
            toolCallId: string;
            approvalId: string;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-request", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * ID of the tool call that the approval request is for.
             */
            toolCallId: import("convex/values").VString<string, "required">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "approvalId">], "required", "id" | "title" | "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "input" | "args" | "providerExecuted" | `input.${string}` | `args.${string}` | "output" | "url" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "sourceType" | "approvalId">, "required">], "required", never>;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            args?: any;
            providerExecuted?: boolean | undefined;
            output?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined;
            result?: any;
            isError?: boolean | undefined;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            output: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            } | {
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            } | undefined, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-text";
                value: string;
            }, {
                type: import("convex/values").VLiteral<"error-text", "required">;
                value: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "error-json";
                value: any;
            }, {
                type: import("convex/values").VLiteral<"error-json", "required">;
                value: import("convex/values").VAny<any, "required", string>;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}`>, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                reason?: string | undefined;
                type: "execution-denied";
            }, {
                type: import("convex/values").VLiteral<"execution-denied", "required">;
                reason: import("convex/values").VString<string | undefined, "optional">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "reason">, import("convex/values").VObject<{
                type: "content";
                value: ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[];
            }, {
                type: import("convex/values").VLiteral<"content", "required">;
                value: import("convex/values").VArray<({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                })[], import("convex/values").VUnion<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                } | {
                    type: "media";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                } | {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    type: "media";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"media", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mediaType: import("convex/values").VString<string, "required">;
                }, "required", "type" | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    filename?: string | undefined;
                    type: "file-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"file-data", "required">;
                    /** Base-64 encoded */
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    filename: import("convex/values").VString<string | undefined, "optional">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data" | "filename">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"file-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "file-id";
                    fileId: string | Record<string, string>;
                }, {
                    type: import("convex/values").VLiteral<"file-id", "required">;
                    /**
                     * ID of the file.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-data";
                    mediaType: string;
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image-data", "required">;
                    data: import("convex/values").VString<string, "required">;
                    /**
                     * IANA media type.
                     * @see https://www.iana.org/assignments/media-types/media-types.xhtml
                     */
                    mediaType: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "mediaType" | "data">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-url";
                    url: string;
                }, {
                    type: import("convex/values").VLiteral<"image-url", "required">;
                    url: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "url">, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "image-file-id";
                    fileId: string | Record<string, string>;
                }, {
                    /**
                     * Images that are referenced using a provider file id.
                     */
                    type: import("convex/values").VLiteral<"image-file-id", "required">;
                    /**
                     * Image that is referenced using a provider file id.
                     *
                     * If you use multiple providers, you need to
                     * specify the provider specific ids using
                     * the Record option. The key is the provider
                     * name, e.g. 'openai' or 'anthropic'.
                     */
                    fileId: import("convex/values").VUnion<string | Record<string, string>, [import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, string>, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "required", string>], "required", string>;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "fileId" | `fileId.${string}`>, import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "custom";
                }, {
                    /**
                     * Custom content part. This can be used to implement
                     * provider-specific content parts.
                     */
                    type: import("convex/values").VLiteral<"custom", "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | `providerOptions.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mediaType" | "data" | "filename" | "url" | "fileId" | `fileId.${string}`>, "required">;
            }, "required", "type" | "value">], "optional", "type" | "providerOptions" | `providerOptions.${string}` | "value" | `value.${string}` | "reason">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            result: import("convex/values").VAny<any, "optional", string>;
            isError: import("convex/values").VBoolean<boolean | undefined, "optional">;
            args: import("convex/values").VAny<any, "optional", string>;
            experimental_content: import("convex/values").VArray<({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined, import("convex/values").VUnion<{
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}`>, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            providerMetadata?: Record<string, Record<string, any>> | undefined;
            providerExecuted?: boolean | undefined;
            reason?: string | undefined;
            type: "tool-approval-response";
            approvalId: string;
            approved: boolean;
        }, {
            type: import("convex/values").VLiteral<"tool-approval-response", "required">;
            /**
             * ID of the tool approval.
             */
            approvalId: import("convex/values").VString<string, "required">;
            /**
             * Flag indicating whether the approval was granted or denied.
             */
            approved: import("convex/values").VBoolean<boolean, "required">;
            /**
             * Optional reason for the approval or denial.
             */
            reason: import("convex/values").VString<string | undefined, "optional">;
            /**
             * Flag indicating whether the tool call is provider-executed.
             * Only provider-executed tool approval responses should be sent to the model.
             */
            providerExecuted: import("convex/values").VBoolean<boolean | undefined, "optional">;
            /** @todo Should we continue to include? */
            providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            /** @todo Should we continue to include? */
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "providerExecuted" | "reason" | "approvalId" | "approved">], "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "toolCallId" | "toolName" | "args" | "providerExecuted" | `args.${string}` | "output" | "reason" | "result" | "isError" | "experimental_content" | "output.type" | "output.providerOptions" | `output.providerOptions.${string}` | "output.value" | `output.value.${string}` | "output.reason" | `result.${string}` | "approvalId" | "approved">, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
    tool: import("convex/values").VBoolean<boolean, "required">;
    text: import("convex/values").VString<string | undefined, "optional">;
    usage: import("convex/values").VObject<{
        reasoningTokens?: number | undefined;
        cachedInputTokens?: number | undefined;
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined, {
        promptTokens: import("convex/values").VFloat64<number, "required">;
        completionTokens: import("convex/values").VFloat64<number, "required">;
        totalTokens: import("convex/values").VFloat64<number, "required">;
        reasoningTokens: import("convex/values").VFloat64<number | undefined, "optional">;
        cachedInputTokens: import("convex/values").VFloat64<number | undefined, "optional">;
    }, "optional", "promptTokens" | "completionTokens" | "totalTokens" | "reasoningTokens" | "cachedInputTokens">;
    providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    sources: import("convex/values").VArray<({
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    })[] | undefined, import("convex/values").VUnion<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, [import("convex/values").VObject<{
        title?: string | undefined;
        type?: "source" | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        id: string;
        url: string;
        sourceType: "url";
    }, {
        type: import("convex/values").VLiteral<"source" | undefined, "optional">;
        sourceType: import("convex/values").VLiteral<"url", "required">;
        id: import("convex/values").VString<string, "required">;
        url: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "url" | "sourceType">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        id: string;
        title: string;
        type: "source";
        mediaType: string;
        sourceType: "document";
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        sourceType: import("convex/values").VLiteral<"document", "required">;
        id: import("convex/values").VString<string, "required">;
        mediaType: import("convex/values").VString<string, "required">;
        title: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "sourceType">], "required", "id" | "title" | "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mediaType" | "filename" | "url" | "sourceType">, "optional">;
    warnings: import("convex/values").VArray<({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined, import("convex/values").VUnion<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    }, [import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    }, {
        type: import("convex/values").VLiteral<"unsupported-setting", "required">;
        setting: import("convex/values").VString<string, "required">;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    }, {
        type: import("convex/values").VLiteral<"unsupported-tool", "required">;
        tool: import("convex/values").VAny<any, "required", string>;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
        type: "other";
        message: string;
    }, {
        type: import("convex/values").VLiteral<"other", "required">;
        message: import("convex/values").VString<string, "required">;
    }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
    finishReason: import("convex/values").VUnion<"error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined, [import("convex/values").VLiteral<"stop", "required">, import("convex/values").VLiteral<"length", "required">, import("convex/values").VLiteral<"content-filter", "required">, import("convex/values").VLiteral<"tool-calls", "required">, import("convex/values").VLiteral<"error", "required">, import("convex/values").VLiteral<"other", "required">, import("convex/values").VLiteral<"unknown", "required">], "optional", never>;
    reasoning: import("convex/values").VString<string | undefined, "optional">;
    reasoningDetails: import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    }, [import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        providerMetadata?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "signature">, import("convex/values").VObject<{
        signature?: string | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "data" | "signature">, "optional">;
    id: import("convex/values").VString<string | undefined, "optional">;
}, "required", "id" | "status" | "userId" | "order" | "_creationTime" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "reasoning" | "tool" | "usage" | "sources" | "warnings" | "finishReason" | "reasoningDetails" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | "usage.reasoningTokens" | "usage.cachedInputTokens" | "_id">;
export type MessageDoc = Infer<typeof vMessageDoc>;
export declare const vThreadDoc: import("convex/values").VObject<{
    userId?: string | undefined;
    title?: string | undefined;
    summary?: string | undefined;
    status: "active" | "archived";
    _creationTime: number;
    _id: string;
}, {
    _id: import("convex/values").VString<string, "required">;
    _creationTime: import("convex/values").VFloat64<number, "required">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    title: import("convex/values").VString<string | undefined, "optional">;
    summary: import("convex/values").VString<string | undefined, "optional">;
    status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
}, "required", "status" | "userId" | "title" | "summary" | "_creationTime" | "_id">;
export type ThreadDoc = Infer<typeof vThreadDoc>;
export {};
//# sourceMappingURL=validators.d.ts.map