import { type Infer, type ObjectType, type Validator, type Value, type VObject } 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: 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}`>;
export declare const vImagePart: VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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>;
    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" | "mimeType">;
export declare const vFilePart: VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    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">;
    mimeType: 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}` | "mimeType" | "data" | "filename">;
export declare const vUserContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
}, [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}`>, VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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>;
    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" | "mimeType">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    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">;
    mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "mimeType" | "data" | "filename">, "required">], "required", never>;
export declare const vReasoningPart: VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">;
export declare const vRedactedReasoningPart: VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">;
export declare const vReasoningDetails: import("convex/values").VArray<({
    signature?: string | undefined;
    type: "text";
    text: string;
} | {
    type: "redacted";
    data: string;
})[], import("convex/values").VUnion<{
    signature?: string | undefined;
    type: "text";
    text: string;
} | {
    type: "redacted";
    data: string;
}, [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">, VObject<{
    type: "redacted";
    data: string;
}, {
    type: import("convex/values").VLiteral<"redacted", "required">;
    data: import("convex/values").VString<string, "required">;
}, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "required">;
export declare const vToolCallPart: VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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">;
    args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>;
export declare const vAssistantContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, [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}`>, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    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">;
    mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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">;
    args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "required">], "required", never>;
export declare const vToolContent: import("convex/values").VArray<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}[], VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    result: import("convex/values").VAny<any, "required", string>;
    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;
    }, [VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, 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">;
    isError: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>, "required">;
export declare const vContent: import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
})[] | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
})[] | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}[], [import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    mimeType?: string | undefined;
    type: "image";
    image: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
}, [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}`>, VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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>;
    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" | "mimeType">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    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">;
    mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "mimeType" | "data" | "filename">, "required">], "required", never>, import("convex/values").VUnion<string | ({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
})[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
})[], import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "text";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    data: string | ArrayBuffer;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    signature?: string | undefined;
    type: "reasoning";
    text: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "redacted-reasoning";
    data: string;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
}, [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}`>, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    filename?: string | undefined;
    type: "file";
    mimeType: string;
    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">;
    mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
    providerOptions?: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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">;
    args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "required">], "required", never>, import("convex/values").VArray<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}[], VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    result: import("convex/values").VAny<any, "required", string>;
    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;
    }, [VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, 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">;
    isError: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>, "required">], "required", never>;
export type Content = Infer<typeof vContent>;
export declare const vUserMessage: VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "user";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[];
}, {
    role: import("convex/values").VLiteral<"user", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    }, [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}`>, VObject<{
        providerOptions?: Record<string, Record<string, any>> | 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>;
        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" | "mimeType">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        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">;
        mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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: VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[];
}, {
    role: import("convex/values").VLiteral<"assistant", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, [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}`>, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        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">;
        mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
        providerOptions?: 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>;
    }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
        providerOptions?: 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>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | 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">;
        args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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: VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }[];
}, {
    role: import("convex/values").VLiteral<"tool", "required">;
    content: import("convex/values").VArray<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }[], VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        result: import("convex/values").VAny<any, "required", string>;
        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;
        }, [VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, 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">;
        isError: 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>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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 vSystemMessage: 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;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }[];
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "system";
    content: string;
}, [VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "user";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[];
}, {
    role: import("convex/values").VLiteral<"user", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        mimeType?: string | undefined;
        type: "image";
        image: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    }, [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}`>, VObject<{
        providerOptions?: Record<string, Record<string, any>> | 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>;
        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" | "mimeType">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        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">;
        mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "assistant";
    content: string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[];
}, {
    role: import("convex/values").VLiteral<"assistant", "required">;
    content: import("convex/values").VUnion<string | ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "text";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        data: string | ArrayBuffer;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        signature?: string | undefined;
        type: "reasoning";
        text: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "redacted-reasoning";
        data: string;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    }, [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}`>, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        filename?: string | undefined;
        type: "file";
        mimeType: string;
        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">;
        mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
        providerOptions?: 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>;
    }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
        providerOptions?: 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>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | 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">;
        args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    role: "tool";
    content: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }[];
}, {
    role: import("convex/values").VLiteral<"tool", "required">;
    content: import("convex/values").VArray<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }[], VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        result: import("convex/values").VAny<any, "required", string>;
        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;
        }, [VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, 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">;
        isError: 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>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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 declare const vSource: VObject<{
    title?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    id: string;
    sourceType: "url";
    url: string;
}, {
    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>;
}, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "sourceType" | "url">;
export declare const vRequest: 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 vResponse: VObject<{
    body?: any;
    headers?: Record<string, string> | undefined;
    id: string;
    messages: {
        id?: string | undefined;
        fileId?: import("convex/values").GenericId<"files"> | undefined;
        message: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "assistant";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "tool";
            content: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "system";
            content: string;
        };
    }[];
    timestamp: number;
    modelId: string;
}, {
    id: import("convex/values").VString<string, "required">;
    timestamp: import("convex/values").VFloat64<number, "required">;
    modelId: import("convex/values").VString<string, "required">;
    headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
    messages: import("convex/values").VArray<{
        id?: string | undefined;
        fileId?: import("convex/values").GenericId<"files"> | undefined;
        message: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "assistant";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "tool";
            content: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "system";
            content: string;
        };
    }[], VObject<{
        id?: string | undefined;
        fileId?: import("convex/values").GenericId<"files"> | undefined;
        message: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "assistant";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "tool";
            content: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "system";
            content: string;
        };
    }, {
        id: import("convex/values").VString<string | undefined, "optional">;
        message: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "assistant";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "tool";
            content: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[];
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "system";
            content: string;
        }, [VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[];
        }, {
            role: import("convex/values").VLiteral<"user", "required">;
            content: import("convex/values").VUnion<string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                mimeType?: string | undefined;
                type: "image";
                image: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            }, [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}`>, VObject<{
                providerOptions?: Record<string, Record<string, any>> | 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>;
                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" | "mimeType">, VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                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">;
                mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "assistant";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[];
        }, {
            role: import("convex/values").VLiteral<"assistant", "required">;
            content: import("convex/values").VUnion<string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            })[], import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                data: string | ArrayBuffer;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                signature?: string | undefined;
                type: "reasoning";
                text: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "redacted-reasoning";
                data: string;
            } | {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "tool-call";
                toolCallId: string;
                toolName: string;
                args: any;
            }, [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}`>, VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                filename?: string | undefined;
                type: "file";
                mimeType: string;
                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">;
                mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
                providerOptions?: 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>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
                providerOptions?: 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>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
                providerOptions?: Record<string, Record<string, any>> | 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">;
                args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "tool";
            content: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[];
        }, {
            role: import("convex/values").VLiteral<"tool", "required">;
            content: import("convex/values").VArray<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }[], VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                args?: any;
                experimental_content?: ({
                    type: "text";
                    text: string;
                } | {
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                })[] | undefined;
                isError?: boolean | undefined;
                type: "tool-result";
                toolCallId: string;
                toolName: string;
                result: any;
            }, {
                type: import("convex/values").VLiteral<"tool-result", "required">;
                toolCallId: import("convex/values").VString<string, "required">;
                toolName: import("convex/values").VString<string, "required">;
                result: import("convex/values").VAny<any, "required", string>;
                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;
                }, [VObject<{
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                }, "required", "type" | "text">, 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">;
                isError: 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>;
            }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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">;
        fileId: import("convex/values").VId<import("convex/values").GenericId<"files"> | undefined, "optional">;
    }, "required", "id" | "message" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "fileId">, "required">;
    body: import("convex/values").VAny<any, "optional", string>;
}, "required", "id" | "messages" | "body" | "headers" | `body.${string}` | `headers.${string}` | "timestamp" | "modelId">;
export declare const vResponseWithoutMessages: VObject<{
    body?: any;
    headers?: Record<string, string> | undefined;
    id: string;
    timestamp: number;
    modelId: string;
}, {
    id: import("convex/values").VString<string, "required">;
    timestamp: import("convex/values").VFloat64<number, "required">;
    modelId: import("convex/values").VString<string, "required">;
    headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
    body: import("convex/values").VAny<any, "optional", string>;
}, "required", "id" | "body" | "headers" | `body.${string}` | `headers.${string}` | "timestamp" | "modelId">;
export declare const vFinishReason: import("convex/values").VUnion<"length" | "error" | "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: VObject<{
    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">;
}, "required", "promptTokens" | "completionTokens" | "totalTokens">;
export type Usage = Infer<typeof vUsage>;
export declare const vLanguageModelV1CallWarning: import("convex/values").VUnion<{
    details?: string | undefined;
    type: "unsupported-setting";
    setting: string;
} | {
    details?: string | undefined;
    type: "unsupported-tool";
    tool: any;
} | {
    type: "other";
    message: string;
}, [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">, 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}`>, 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: VObject<{
    id?: string | undefined;
    fileIds?: import("convex/values").GenericId<"files">[] | undefined;
    error?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    text?: string | undefined;
    reasoning?: string | undefined;
    usage?: {
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    sources?: {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }[] | undefined;
    reasoningDetails?: ({
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
    message: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    };
}, {
    id: import("convex/values").VString<string | undefined, "optional">;
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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>;
            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" | "mimeType">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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">;
            args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[], VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            result: import("convex/values").VAny<any, "required", string>;
            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;
            }, [VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, 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">;
            isError: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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">;
    finishReason: import("convex/values").VUnion<"length" | "error" | "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;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }[] | undefined, VObject<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }, {
        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>;
    }, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "sourceType" | "url">, "optional">;
    reasoning: import("convex/values").VString<string | undefined, "optional">;
    reasoningDetails: import("convex/values").VArray<({
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    }, [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">, VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
    usage: VObject<{
        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">;
    }, "optional", "promptTokens" | "completionTokens" | "totalTokens">;
    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;
    }, [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">, 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}`>, 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", "id" | "fileIds" | "error" | "model" | "provider" | "message" | "text" | "reasoning" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`>;
export declare const vMessageWithMetadata: VObject<{
    id?: string | undefined;
    fileIds?: string[] | undefined;
    error?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    text?: string | undefined;
    reasoning?: string | undefined;
    usage?: {
        promptTokens: number;
        completionTokens: number;
        totalTokens: number;
    } | undefined;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    sources?: {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }[] | undefined;
    reasoningDetails?: ({
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
    message: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        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">;
    id: import("convex/values").VString<string | undefined, "optional">;
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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>;
            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" | "mimeType">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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">;
            args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[], VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            result: import("convex/values").VAny<any, "required", string>;
            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;
            }, [VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, 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">;
            isError: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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">;
    finishReason: import("convex/values").VUnion<"length" | "error" | "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;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }[] | undefined, VObject<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }, {
        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>;
    }, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "sourceType" | "url">, "optional">;
    reasoning: import("convex/values").VString<string | undefined, "optional">;
    reasoningDetails: import("convex/values").VArray<({
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    })[] | undefined, import("convex/values").VUnion<{
        signature?: string | undefined;
        type: "text";
        text: string;
    } | {
        type: "redacted";
        data: string;
    }, [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">, VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
    usage: VObject<{
        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">;
    }, "optional", "promptTokens" | "completionTokens" | "totalTokens">;
    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;
    }, [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">, 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}`>, 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", "id" | "fileIds" | "error" | "model" | "provider" | "message" | "text" | "reasoning" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`>;
export type MessageWithMetadata = Infer<typeof vMessageWithMetadata>;
export declare const vMessageEmbeddings: 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, any, "required", any>;
    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" | `dimension.${any}`>;
export declare const vObjectResult: VObject<{
    error?: string | undefined;
    usage?: any;
    providerMetadata?: Record<string, Record<string, any>> | undefined;
    warnings?: ({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined;
    object: any;
    finishReason: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown";
    request: {
        url?: string | undefined;
        body?: any;
        headers?: Record<string, string> | undefined;
        method?: string | undefined;
    };
    response: {
        body?: any;
        headers?: Record<string, string> | undefined;
        id: string;
        timestamp: number;
        modelId: string;
    };
}, {
    request: 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}`>;
    response: VObject<{
        body?: any;
        headers?: Record<string, string> | undefined;
        id: string;
        timestamp: number;
        modelId: string;
    }, {
        id: import("convex/values").VString<string, "required">;
        timestamp: import("convex/values").VFloat64<number, "required">;
        modelId: import("convex/values").VString<string, "required">;
        headers: import("convex/values").VRecord<Record<string, string> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VString<string, "required">, "optional", string>;
        body: import("convex/values").VAny<any, "optional", string>;
    }, "required", "id" | "body" | "headers" | `body.${string}` | `headers.${string}` | "timestamp" | "modelId">;
    finishReason: import("convex/values").VUnion<"length" | "error" | "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>;
    usage: import("convex/values").VAny<any, "optional", string>;
    object: import("convex/values").VAny<any, "required", string>;
    error: import("convex/values").VString<string | undefined, "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;
    }, [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">, 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}`>, 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">;
    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", "object" | "error" | "usage" | "providerMetadata" | "warnings" | "finishReason" | `providerMetadata.${string}` | "request" | "response" | `object.${string}` | `usage.${string}` | "request.url" | "request.body" | "request.headers" | "request.method" | `request.body.${string}` | `request.headers.${string}` | "response.id" | "response.body" | "response.headers" | `response.body.${string}` | `response.headers.${string}` | "response.timestamp" | "response.modelId">;
export type ObjectResult = Infer<typeof vObjectResult>;
export declare const vSearchOptions: VObject<{
    text?: string | undefined;
    vector?: number[] | undefined;
    vectorModel?: string | undefined;
    vectorScoreThreshold?: number | undefined;
    messageRange?: {
        before: number;
        after: number;
    } | undefined;
    limit: number;
}, {
    vector: import("convex/values").VArray<number[] | undefined, import("convex/values").VFloat64<number, "required">, "optional">;
    vectorModel: import("convex/values").VString<string | undefined, "optional">;
    text: import("convex/values").VString<string | undefined, "optional">;
    limit: import("convex/values").VFloat64<number, "required">;
    vectorScoreThreshold: import("convex/values").VFloat64<number | undefined, "optional">;
    messageRange: VObject<{
        before: number;
        after: number;
    } | undefined, {
        before: import("convex/values").VFloat64<number, "required">;
        after: import("convex/values").VFloat64<number, "required">;
    }, "optional", "before" | "after">;
}, "required", "text" | "vector" | "vectorModel" | "limit" | "vectorScoreThreshold" | "messageRange" | "messageRange.before" | "messageRange.after">;
export type SearchOptions = Infer<typeof vSearchOptions>;
export declare const vContextOptionsSearchOptions: VObject<{
    messageRange?: {
        before: number;
        after: number;
    } | undefined;
    textSearch?: boolean | undefined;
    vectorSearch?: boolean | 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">;
    messageRange: 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" | "messageRange" | "messageRange.before" | "messageRange.after" | "textSearch" | "vectorSearch">;
export declare const vContextOptions: VObject<{
    excludeToolMessages?: boolean | undefined;
    recentMessages?: number | undefined;
    searchOptions?: {
        messageRange?: {
            before: number;
            after: number;
        } | undefined;
        textSearch?: boolean | undefined;
        vectorSearch?: boolean | undefined;
        limit: number;
    } | undefined;
    searchOtherThreads?: boolean | undefined;
}, {
    excludeToolMessages: import("convex/values").VBoolean<boolean | undefined, "optional">;
    recentMessages: import("convex/values").VFloat64<number | undefined, "optional">;
    searchOptions: VObject<{
        messageRange?: {
            before: number;
            after: number;
        } | undefined;
        textSearch?: boolean | undefined;
        vectorSearch?: boolean | 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">;
        messageRange: 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" | "messageRange" | "messageRange.before" | "messageRange.after" | "textSearch" | "vectorSearch">;
    searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
}, "required", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after" | "searchOptions.textSearch" | "searchOptions.vectorSearch">;
export declare const vStorageOptions: 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 vCallSettingsFields: {
    maxTokens: 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">;
    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>;
};
export type CallSettings = ObjectType<typeof vCallSettingsFields>;
export declare const vTextArgs: 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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined;
    headers?: Record<string, string> | undefined;
    maxTokens?: number | undefined;
    temperature?: number | undefined;
    topP?: number | undefined;
    topK?: number | undefined;
    presencePenalty?: number | undefined;
    frequencyPenalty?: number | undefined;
    seed?: number | undefined;
    maxRetries?: number | 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?: {
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined;
    storageOptions?: {
        saveMessages?: "all" | "none" | "promptAndOutput";
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAllInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAnyInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveOutputMessages?: boolean;
    } | 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">, 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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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>;
            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" | "mimeType">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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">;
            args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[], VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            result: import("convex/values").VAny<any, "required", string>;
            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;
            }, [VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, 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">;
            isError: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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">;
    maxTokens: 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">;
    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>;
    userId: import("convex/values").VString<string | undefined, "optional">;
    threadId: import("convex/values").VString<string | undefined, "optional">;
    contextOptions: VObject<{
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | 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: VObject<{
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | 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">;
            messageRange: 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" | "messageRange" | "messageRange.before" | "messageRange.after" | "textSearch" | "vectorSearch">;
        searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
    }, "optional", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after" | "searchOptions.textSearch" | "searchOptions.vectorSearch">;
    storageOptions: VObject<{
        saveMessages?: "all" | "none" | "promptAndOutput";
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAllInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAnyInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveOutputMessages?: boolean;
    } | 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>;
}, "required", "userId" | "threadId" | "providerOptions" | `providerOptions.${string}` | "system" | "messages" | "headers" | `headers.${string}` | "maxTokens" | "temperature" | "topP" | "topK" | "presencePenalty" | "frequencyPenalty" | "seed" | "maxRetries" | "stream" | "toolChoice" | "maxSteps" | "experimental_continueSteps" | "prompt" | "promptMessageId" | "contextOptions" | "storageOptions" | "toolChoice.type" | "toolChoice.toolName" | "contextOptions.excludeToolMessages" | "contextOptions.recentMessages" | "contextOptions.searchOptions" | "contextOptions.searchOtherThreads" | "contextOptions.searchOptions.limit" | "contextOptions.searchOptions.messageRange" | "contextOptions.searchOptions.messageRange.before" | "contextOptions.searchOptions.messageRange.after" | "contextOptions.searchOptions.textSearch" | "contextOptions.searchOptions.vectorSearch" | "storageOptions.saveMessages">;
export type TextArgs = Infer<typeof vTextArgs>;
export declare const vSafeObjectArgs: 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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    })[] | undefined;
    headers?: Record<string, string> | undefined;
    maxTokens?: number | undefined;
    temperature?: number | undefined;
    topP?: number | undefined;
    topK?: number | undefined;
    presencePenalty?: number | undefined;
    frequencyPenalty?: number | undefined;
    seed?: number | undefined;
    maxRetries?: number | undefined;
    prompt?: string | undefined;
    promptMessageId?: string | undefined;
    contextOptions?: {
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | undefined;
            limit: number;
        } | undefined;
        searchOtherThreads?: boolean | undefined;
    } | undefined;
    storageOptions?: {
        saveMessages?: "all" | "none" | "promptAndOutput";
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAllInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAnyInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveOutputMessages?: boolean;
    } | 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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        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;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, [VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[];
    }, {
        role: import("convex/values").VLiteral<"user", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            mimeType?: string | undefined;
            type: "image";
            image: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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>;
            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" | "mimeType">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "image" | "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "assistant";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[];
    }, {
        role: import("convex/values").VLiteral<"assistant", "required">;
        content: import("convex/values").VUnion<string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        })[], import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            data: string | ArrayBuffer;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            signature?: string | undefined;
            type: "reasoning";
            text: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "redacted-reasoning";
            data: string;
        } | {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: any;
        }, [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}`>, VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            filename?: string | undefined;
            type: "file";
            mimeType: string;
            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">;
            mimeType: 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}` | "mimeType" | "data" | "filename">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "signature">, VObject<{
            providerOptions?: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "data">, VObject<{
            providerOptions?: Record<string, Record<string, any>> | 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">;
            args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>], "required", "type" | "providerOptions" | "text" | `providerOptions.${string}` | "mimeType" | "data" | "filename" | "signature" | "toolCallId" | "toolName" | "args" | `args.${string}`>, "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">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "tool";
        content: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[];
    }, {
        role: import("convex/values").VLiteral<"tool", "required">;
        content: import("convex/values").VArray<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }[], VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            args?: any;
            experimental_content?: ({
                type: "text";
                text: string;
            } | {
                mimeType?: string | undefined;
                type: "image";
                data: string;
            })[] | undefined;
            isError?: boolean | undefined;
            type: "tool-result";
            toolCallId: string;
            toolName: string;
            result: any;
        }, {
            type: import("convex/values").VLiteral<"tool-result", "required">;
            toolCallId: import("convex/values").VString<string, "required">;
            toolName: import("convex/values").VString<string, "required">;
            result: import("convex/values").VAny<any, "required", string>;
            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;
            }, [VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, 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">;
            isError: 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>;
        }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${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">, 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">;
    maxTokens: 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">;
    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>;
    userId: import("convex/values").VString<string | undefined, "optional">;
    threadId: import("convex/values").VString<string | undefined, "optional">;
    contextOptions: VObject<{
        excludeToolMessages?: boolean | undefined;
        recentMessages?: number | undefined;
        searchOptions?: {
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | 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: VObject<{
            messageRange?: {
                before: number;
                after: number;
            } | undefined;
            textSearch?: boolean | undefined;
            vectorSearch?: boolean | 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">;
            messageRange: 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" | "messageRange" | "messageRange.before" | "messageRange.after" | "textSearch" | "vectorSearch">;
        searchOtherThreads: import("convex/values").VBoolean<boolean | undefined, "optional">;
    }, "optional", "excludeToolMessages" | "recentMessages" | "searchOptions" | "searchOtherThreads" | "searchOptions.limit" | "searchOptions.messageRange" | "searchOptions.messageRange.before" | "searchOptions.messageRange.after" | "searchOptions.textSearch" | "searchOptions.vectorSearch">;
    storageOptions: VObject<{
        saveMessages?: "all" | "none" | "promptAndOutput";
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAllInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveAnyInputMessages?: boolean;
        /**
         * @deprecated Use saveMessages instead.
         */
        saveOutputMessages?: boolean;
    } | 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>;
}, "required", "userId" | "threadId" | "providerOptions" | `providerOptions.${string}` | "system" | "messages" | "headers" | `headers.${string}` | "maxTokens" | "temperature" | "topP" | "topK" | "presencePenalty" | "frequencyPenalty" | "seed" | "maxRetries" | "prompt" | "promptMessageId" | "contextOptions" | "storageOptions" | "contextOptions.excludeToolMessages" | "contextOptions.recentMessages" | "contextOptions.searchOptions" | "contextOptions.searchOtherThreads" | "contextOptions.searchOptions.limit" | "contextOptions.searchOptions.messageRange" | "contextOptions.searchOptions.messageRange.before" | "contextOptions.searchOptions.messageRange.after" | "contextOptions.searchOptions.textSearch" | "contextOptions.searchOptions.vectorSearch" | "storageOptions.saveMessages">;
export type SafeObjectArgs = Infer<typeof vSafeObjectArgs>;
export declare const vEmbeddingsWithMetadata: 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, any, "required", any>;
    model: import("convex/values").VString<string, "required">;
}, "required", "model" | "dimension" | "vectors" | `dimension.${any}`>;
export type EmbeddingsWithMetadata = Infer<typeof vEmbeddingsWithMetadata>;
export declare function vPaginationResult<T extends Validator<Value, "required", string>>(itemValidator: T): 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 vTextStreamPart: import("convex/values").VUnion<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    type: "tool-call";
    toolCallId: string;
    toolName: string;
    args: any;
} | {
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
} | {
    type: "text-delta";
    textDelta: string;
} | {
    type: "reasoning";
    textDelta: string;
} | {
    type: "source";
    source: {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    };
} | {
    type: "tool-call-streaming-start";
    toolCallId: string;
    toolName: string;
} | {
    type: "tool-call-delta";
    toolCallId: string;
    toolName: string;
    argsTextDelta: string;
}, [VObject<{
    type: "text-delta";
    textDelta: string;
}, {
    type: import("convex/values").VLiteral<"text-delta", "required">;
    textDelta: import("convex/values").VString<string, "required">;
}, "required", "type" | "textDelta">, VObject<{
    type: "reasoning";
    textDelta: string;
}, {
    type: import("convex/values").VLiteral<"reasoning", "required">;
    textDelta: import("convex/values").VString<string, "required">;
}, "required", "type" | "textDelta">, VObject<{
    type: "source";
    source: {
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    };
}, {
    type: import("convex/values").VLiteral<"source", "required">;
    source: VObject<{
        title?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        id: string;
        sourceType: "url";
        url: string;
    }, {
        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>;
    }, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "sourceType" | "url">;
}, "required", "type" | "source" | "source.id" | "source.title" | "source.providerOptions" | `source.providerOptions.${string}` | "source.sourceType" | "source.url">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | 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">;
    args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>, VObject<{
    type: "tool-call-streaming-start";
    toolCallId: string;
    toolName: string;
}, {
    type: import("convex/values").VLiteral<"tool-call-streaming-start", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
}, "required", "type" | "toolCallId" | "toolName">, VObject<{
    type: "tool-call-delta";
    toolCallId: string;
    toolName: string;
    argsTextDelta: string;
}, {
    type: import("convex/values").VLiteral<"tool-call-delta", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    argsTextDelta: import("convex/values").VString<string, "required">;
}, "required", "type" | "toolCallId" | "toolName" | "argsTextDelta">, VObject<{
    providerOptions?: Record<string, Record<string, any>> | undefined;
    args?: any;
    experimental_content?: ({
        type: "text";
        text: string;
    } | {
        mimeType?: string | undefined;
        type: "image";
        data: string;
    })[] | undefined;
    isError?: boolean | undefined;
    type: "tool-result";
    toolCallId: string;
    toolName: string;
    result: any;
}, {
    type: import("convex/values").VLiteral<"tool-result", "required">;
    toolCallId: import("convex/values").VString<string, "required">;
    toolName: import("convex/values").VString<string, "required">;
    result: import("convex/values").VAny<any, "required", string>;
    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;
    }, [VObject<{
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
    }, "required", "type" | "text">, 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">;
    isError: 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>;
}, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>], "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}` | "textDelta" | "source" | "source.id" | "source.title" | "source.providerOptions" | `source.providerOptions.${string}` | "source.sourceType" | "source.url" | "argsTextDelta">;
export type TextStreamPart = Infer<typeof vTextStreamPart>;
export declare const vStreamCursor: 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<{
    kind: "list";
} | {
    kind: "deltas";
    cursors: {
        streamId: string;
        cursor: number;
    }[];
} | undefined, [VObject<{
    kind: "list";
}, {
    kind: import("convex/values").VLiteral<"list", "required">;
}, "required", "kind">, VObject<{
    kind: "deltas";
    cursors: {
        streamId: string;
        cursor: number;
    }[];
}, {
    kind: import("convex/values").VLiteral<"deltas", "required">;
    cursors: import("convex/values").VArray<{
        streamId: string;
        cursor: number;
    }[], 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" | "cursors">;
export type StreamArgs = Infer<typeof vStreamArgs>;
export declare const vStreamMessage: VObject<{
    userId?: string | undefined;
    agentName?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    order: number;
    stepOrder: number;
    streamId: string;
}, {
    streamId: import("convex/values").VString<string, "required">;
    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", "userId" | "order" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "streamId">;
export type StreamMessage = Infer<typeof vStreamMessage>;
export declare const vStreamDelta: VObject<{
    streamId: string;
    start: number;
    end: number;
    parts: ({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    } | {
        type: "text-delta";
        textDelta: string;
    } | {
        type: "reasoning";
        textDelta: string;
    } | {
        type: "source";
        source: {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            id: string;
            sourceType: "url";
            url: string;
        };
    } | {
        type: "tool-call-streaming-start";
        toolCallId: string;
        toolName: string;
    } | {
        type: "tool-call-delta";
        toolCallId: string;
        toolName: string;
        argsTextDelta: string;
    })[];
}, {
    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<({
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    } | {
        type: "text-delta";
        textDelta: string;
    } | {
        type: "reasoning";
        textDelta: string;
    } | {
        type: "source";
        source: {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            id: string;
            sourceType: "url";
            url: string;
        };
    } | {
        type: "tool-call-streaming-start";
        toolCallId: string;
        toolName: string;
    } | {
        type: "tool-call-delta";
        toolCallId: string;
        toolName: string;
        argsTextDelta: string;
    })[], import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        type: "tool-call";
        toolCallId: string;
        toolName: string;
        args: any;
    } | {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    } | {
        type: "text-delta";
        textDelta: string;
    } | {
        type: "reasoning";
        textDelta: string;
    } | {
        type: "source";
        source: {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            id: string;
            sourceType: "url";
            url: string;
        };
    } | {
        type: "tool-call-streaming-start";
        toolCallId: string;
        toolName: string;
    } | {
        type: "tool-call-delta";
        toolCallId: string;
        toolName: string;
        argsTextDelta: string;
    }, [VObject<{
        type: "text-delta";
        textDelta: string;
    }, {
        type: import("convex/values").VLiteral<"text-delta", "required">;
        textDelta: import("convex/values").VString<string, "required">;
    }, "required", "type" | "textDelta">, VObject<{
        type: "reasoning";
        textDelta: string;
    }, {
        type: import("convex/values").VLiteral<"reasoning", "required">;
        textDelta: import("convex/values").VString<string, "required">;
    }, "required", "type" | "textDelta">, VObject<{
        type: "source";
        source: {
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            id: string;
            sourceType: "url";
            url: string;
        };
    }, {
        type: import("convex/values").VLiteral<"source", "required">;
        source: VObject<{
            title?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            id: string;
            sourceType: "url";
            url: string;
        }, {
            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>;
        }, "required", "id" | "title" | "providerOptions" | `providerOptions.${string}` | "sourceType" | "url">;
    }, "required", "type" | "source" | "source.id" | "source.title" | "source.providerOptions" | `source.providerOptions.${string}` | "source.sourceType" | "source.url">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | 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">;
        args: 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}` | "toolCallId" | "toolName" | "args" | `args.${string}`>, VObject<{
        type: "tool-call-streaming-start";
        toolCallId: string;
        toolName: string;
    }, {
        type: import("convex/values").VLiteral<"tool-call-streaming-start", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
    }, "required", "type" | "toolCallId" | "toolName">, VObject<{
        type: "tool-call-delta";
        toolCallId: string;
        toolName: string;
        argsTextDelta: string;
    }, {
        type: import("convex/values").VLiteral<"tool-call-delta", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        argsTextDelta: import("convex/values").VString<string, "required">;
    }, "required", "type" | "toolCallId" | "toolName" | "argsTextDelta">, VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        args?: any;
        experimental_content?: ({
            type: "text";
            text: string;
        } | {
            mimeType?: string | undefined;
            type: "image";
            data: string;
        })[] | undefined;
        isError?: boolean | undefined;
        type: "tool-result";
        toolCallId: string;
        toolName: string;
        result: any;
    }, {
        type: import("convex/values").VLiteral<"tool-result", "required">;
        toolCallId: import("convex/values").VString<string, "required">;
        toolName: import("convex/values").VString<string, "required">;
        result: import("convex/values").VAny<any, "required", string>;
        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;
        }, [VObject<{
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
        }, "required", "type" | "text">, 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">;
        isError: 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>;
    }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}`>], "required", "type" | "providerOptions" | `providerOptions.${string}` | "toolCallId" | "toolName" | "args" | `args.${string}` | "result" | "experimental_content" | "isError" | `result.${string}` | "textDelta" | "source" | "source.id" | "source.title" | "source.providerOptions" | `source.providerOptions.${string}` | "source.sourceType" | "source.url" | "argsTextDelta">, "required">;
}, "required", "streamId" | "start" | "end" | "parts">;
export type StreamDelta = Infer<typeof vStreamDelta>;
export {};
//# sourceMappingURL=validators.d.ts.map