import { type Infer } from "convex/values";
export declare const schema: import("convex/server").SchemaDefinition<{
    apiKeys: import("convex/server").TableDefinition<import("convex/values").VObject<{
        name?: string | undefined;
    }, {
        name: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "name">, {
        name: ["name", "_creationTime"];
    }, {}, {}>;
    embeddings_128: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_256: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_512: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_768: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_1024: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_1408: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_1536: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_2048: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_3072: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    embeddings_4096: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: string | undefined;
        model_table_userId?: string[] | undefined;
        model_table_threadId?: string[] | undefined;
        model: string;
        table: string;
        vector: number[];
    }, {
        model: import("convex/values").VString<string, "required">;
        table: import("convex/values").VString<string, "required">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VString<string | undefined, "optional">;
        model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
        vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
    }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
        model_table_threadId: ["model", "table", "threadId", "_creationTime"];
    }, import("convex/server").GenericTableSearchIndexes, {
        vector: {
            vectorField: "vector";
            dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
            filterFields: "model_table_userId" | "model_table_threadId";
        };
    }>;
    threads: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        title?: string | undefined;
        summary?: string | undefined;
        defaultSystemPrompt?: string | undefined;
        parentThreadIds?: import("convex/values").GenericId<"threads">[] | undefined;
        order?: number | undefined;
        status: "active" | "archived";
    }, {
        userId: import("convex/values").VString<string | undefined, "optional">;
        title: import("convex/values").VString<string | undefined, "optional">;
        summary: import("convex/values").VString<string | undefined, "optional">;
        status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
        defaultSystemPrompt: import("convex/values").VString<string | undefined, "optional">;
        parentThreadIds: import("convex/values").VArray<import("convex/values").GenericId<"threads">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">, "optional">;
        order: import("convex/values").VFloat64<number | undefined, "optional">;
    }, "required", "status" | "userId" | "title" | "summary" | "defaultSystemPrompt" | "parentThreadIds" | "order">, {
        userId: ["userId", "_creationTime"];
    }, {}, {}>;
    messages: import("convex/server").TableDefinition<import("convex/values").VObject<{
        id?: string | undefined;
        userId?: string | undefined;
        embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
        fileIds?: import("convex/values").GenericId<"files">[] | undefined;
        files?: any[] | undefined;
        error?: string | undefined;
        agentName?: string | undefined;
        model?: string | undefined;
        provider?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        message?: {
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                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;
        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;
        parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
        stepId?: string | undefined;
        status: "pending" | "success" | "failed";
        order: number;
        threadId: import("convex/values").GenericId<"threads">;
        stepOrder: number;
        tool: boolean;
    }, {
        id: import("convex/values").VString<string | undefined, "optional">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
        order: import("convex/values").VFloat64<number, "required">;
        stepOrder: import("convex/values").VFloat64<number, "required">;
        embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
        fileIds: import("convex/values").VArray<import("convex/values").GenericId<"files">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"files">, "required">, "optional">;
        error: import("convex/values").VString<string | undefined, "optional">;
        status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
        agentName: import("convex/values").VString<string | undefined, "optional">;
        model: import("convex/values").VString<string | undefined, "optional">;
        provider: import("convex/values").VString<string | undefined, "optional">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        message: import("convex/values").VUnion<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "user";
            content: string | ({
                providerOptions?: Record<string, Record<string, any>> | undefined;
                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").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;
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                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">, import("convex/values").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">, import("convex/values").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;
            }, [import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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;
            }[], import("convex/values").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;
                }, [import("convex/values").VObject<{
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                }, "required", "type" | "text">, import("convex/values").VObject<{
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mimeType: import("convex/values").VString<string | undefined, "optional">;
                }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
                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">, import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            role: "system";
            content: string;
        }, {
            role: import("convex/values").VLiteral<"system", "required">;
            content: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
        tool: import("convex/values").VBoolean<boolean, "required">;
        text: import("convex/values").VString<string | undefined, "optional">;
        usage: import("convex/values").VObject<{
            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">;
        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, import("convex/values").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;
        }, [import("convex/values").VObject<{
            signature?: string | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            signature: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
            type: "redacted";
            data: string;
        }, {
            type: import("convex/values").VLiteral<"redacted", "required">;
            data: import("convex/values").VString<string, "required">;
        }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
        warnings: import("convex/values").VArray<({
            details?: string | undefined;
            type: "unsupported-setting";
            setting: string;
        } | {
            details?: string | undefined;
            type: "unsupported-tool";
            tool: any;
        } | {
            type: "other";
            message: string;
        })[] | undefined, import("convex/values").VUnion<{
            details?: string | undefined;
            type: "unsupported-setting";
            setting: string;
        } | {
            details?: string | undefined;
            type: "unsupported-tool";
            tool: any;
        } | {
            type: "other";
            message: string;
        }, [import("convex/values").VObject<{
            details?: string | undefined;
            type: "unsupported-setting";
            setting: string;
        }, {
            type: import("convex/values").VLiteral<"unsupported-setting", "required">;
            setting: import("convex/values").VString<string, "required">;
            details: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
            details?: string | undefined;
            type: "unsupported-tool";
            tool: any;
        }, {
            type: import("convex/values").VLiteral<"unsupported-tool", "required">;
            tool: import("convex/values").VAny<any, "required", string>;
            details: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
            type: "other";
            message: string;
        }, {
            type: import("convex/values").VLiteral<"other", "required">;
            message: import("convex/values").VString<string, "required">;
        }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
        finishReason: import("convex/values").VUnion<"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>;
        parentMessageId: import("convex/values").VId<import("convex/values").GenericId<"messages"> | undefined, "optional">;
        stepId: import("convex/values").VString<string | undefined, "optional">;
        files: import("convex/values").VArray<any[] | undefined, import("convex/values").VAny<any, "required", string>, "optional">;
    }, "required", "id" | "status" | "userId" | "order" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "files" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "parentMessageId" | "stepId" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`>, {
        threadId_status_tool_order_stepOrder: ["threadId", "status", "tool", "order", "stepOrder", "_creationTime"];
        embeddingId: ["embeddingId", "_creationTime"];
    }, {
        text_search: {
            searchField: "text";
            filterFields: "userId" | "threadId";
        };
    }, {}>;
    streamingMessages: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        agentName?: string | undefined;
        model?: string | undefined;
        provider?: string | undefined;
        providerOptions?: Record<string, Record<string, any>> | undefined;
        order: number;
        threadId: import("convex/values").GenericId<"threads">;
        stepOrder: number;
        state: {
            timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
            kind: "streaming";
            lastHeartbeat: number;
        } | {
            kind: "finished";
            endedAt: number;
        } | {
            error: string;
            kind: "error";
        };
    }, {
        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>;
        threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
        order: import("convex/values").VFloat64<number, "required">;
        /**
         * The step order of the first message in the stream.
         * If the stream ends up with both a tool call and a tool result,
         * the stepOrder of the result will be +1 of the tool call.
         */
        stepOrder: import("convex/values").VFloat64<number, "required">;
        state: import("convex/values").VUnion<{
            timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
            kind: "streaming";
            lastHeartbeat: number;
        } | {
            kind: "finished";
            endedAt: number;
        } | {
            error: string;
            kind: "error";
        }, [import("convex/values").VObject<{
            timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
            kind: "streaming";
            lastHeartbeat: number;
        }, {
            kind: import("convex/values").VLiteral<"streaming", "required">;
            lastHeartbeat: import("convex/values").VFloat64<number, "required">;
            timeoutFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
        }, "required", "kind" | "lastHeartbeat" | "timeoutFnId">, import("convex/values").VObject<{
            kind: "finished";
            endedAt: number;
        }, {
            kind: import("convex/values").VLiteral<"finished", "required">;
            endedAt: import("convex/values").VFloat64<number, "required">;
        }, "required", "kind" | "endedAt">, import("convex/values").VObject<{
            error: string;
            kind: "error";
        }, {
            kind: import("convex/values").VLiteral<"error", "required">;
            error: import("convex/values").VString<string, "required">;
        }, "required", "error" | "kind">], "required", "error" | "kind" | "lastHeartbeat" | "timeoutFnId" | "endedAt">;
    }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "state" | "state.error" | "state.kind" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt">, {
        threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
    }, {}, {}>;
    streamDeltas: import("convex/server").TableDefinition<import("convex/values").VObject<{
        streamId: import("convex/values").GenericId<"streamingMessages">;
        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").VId<import("convex/values").GenericId<"streamingMessages">, "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;
        }, [import("convex/values").VObject<{
            type: "text-delta";
            textDelta: string;
        }, {
            type: import("convex/values").VLiteral<"text-delta", "required">;
            textDelta: import("convex/values").VString<string, "required">;
        }, "required", "type" | "textDelta">, import("convex/values").VObject<{
            type: "reasoning";
            textDelta: string;
        }, {
            type: import("convex/values").VLiteral<"reasoning", "required">;
            textDelta: import("convex/values").VString<string, "required">;
        }, "required", "type" | "textDelta">, import("convex/values").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: import("convex/values").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">, import("convex/values").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}`>, import("convex/values").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">, import("convex/values").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">, import("convex/values").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;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
            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">, {
        streamId_start_end: ["streamId", "start", "end", "_creationTime"];
    }, {}, {}>;
    memories: import("convex/server").TableDefinition<import("convex/values").VObject<{
        userId?: string | undefined;
        threadId?: import("convex/values").GenericId<"threads"> | undefined;
        embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
        memory: string;
    }, {
        threadId: import("convex/values").VId<import("convex/values").GenericId<"threads"> | undefined, "optional">;
        userId: import("convex/values").VString<string | undefined, "optional">;
        memory: import("convex/values").VString<string, "required">;
        embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
    }, "required", "userId" | "threadId" | "embeddingId" | "memory">, {
        threadId: ["threadId", "_creationTime"];
        userId: ["userId", "_creationTime"];
        embeddingId: ["embeddingId", "_creationTime"];
    }, {}, {}>;
    files: import("convex/server").TableDefinition<import("convex/values").VObject<{
        filename?: string | undefined;
        mimeType: string;
        storageId: string;
        hash: string;
        refcount: number;
        lastTouchedAt: number;
    }, {
        storageId: import("convex/values").VString<string, "required">;
        mimeType: import("convex/values").VString<string, "required">;
        filename: import("convex/values").VString<string | undefined, "optional">;
        hash: import("convex/values").VString<string, "required">;
        refcount: import("convex/values").VFloat64<number, "required">;
        lastTouchedAt: import("convex/values").VFloat64<number, "required">;
    }, "required", "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt">, {
        hash: ["hash", "_creationTime"];
        refcount: ["refcount", "_creationTime"];
    }, {}, {}>;
}, true>;
export declare const vv: {
    id: <TableName extends import("convex/server").TableNamesInDataModel<{
        threads: {
            document: {
                _id: import("convex/values").GenericId<"threads">;
                _creationTime: number;
                userId?: string | undefined;
                title?: string | undefined;
                summary?: string | undefined;
                defaultSystemPrompt?: string | undefined;
                parentThreadIds?: import("convex/values").GenericId<"threads">[] | undefined;
                order?: number | undefined;
                status: "active" | "archived";
            };
            fieldPaths: "_id" | ("_creationTime" | "status" | "userId" | "title" | "summary" | "defaultSystemPrompt" | "parentThreadIds" | "order");
            indexes: {
                userId: ["userId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        embeddings_128: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_128">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_256: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_256">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_512: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_512">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_768: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_768">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1024: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1024">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1408: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1408">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1536: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1536">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_2048: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_2048">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_3072: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_3072">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_4096: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_4096">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        files: {
            document: {
                _id: import("convex/values").GenericId<"files">;
                _creationTime: number;
                filename?: string | undefined;
                mimeType: string;
                storageId: string;
                hash: string;
                refcount: number;
                lastTouchedAt: number;
            };
            fieldPaths: "_id" | ("_creationTime" | "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt");
            indexes: {
                hash: ["hash", "_creationTime"];
                refcount: ["refcount", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        messages: {
            document: {
                _id: import("convex/values").GenericId<"messages">;
                _creationTime: number;
                id?: string | undefined;
                userId?: string | undefined;
                embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
                fileIds?: import("convex/values").GenericId<"files">[] | undefined;
                files?: any[] | undefined;
                error?: string | undefined;
                agentName?: string | undefined;
                model?: string | undefined;
                provider?: string | undefined;
                providerOptions?: Record<string, Record<string, any>> | undefined;
                message?: {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    role: "user";
                    content: string | ({
                        providerOptions?: Record<string, Record<string, any>> | undefined;
                        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;
                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;
                parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
                stepId?: string | undefined;
                status: "pending" | "success" | "failed";
                order: number;
                threadId: import("convex/values").GenericId<"threads">;
                stepOrder: number;
                tool: boolean;
            };
            fieldPaths: "_id" | ("_creationTime" | "id" | "status" | "userId" | "order" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "files" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "parentMessageId" | "stepId" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`);
            indexes: {
                threadId_status_tool_order_stepOrder: ["threadId", "status", "tool", "order", "stepOrder", "_creationTime"];
                embeddingId: ["embeddingId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {
                text_search: {
                    searchField: "text";
                    filterFields: "userId" | "threadId";
                };
            };
            vectorIndexes: {};
        };
        streamingMessages: {
            document: {
                _id: import("convex/values").GenericId<"streamingMessages">;
                _creationTime: number;
                userId?: string | undefined;
                agentName?: string | undefined;
                model?: string | undefined;
                provider?: string | undefined;
                providerOptions?: Record<string, Record<string, any>> | undefined;
                order: number;
                threadId: import("convex/values").GenericId<"threads">;
                stepOrder: number;
                state: {
                    timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
                    kind: "streaming";
                    lastHeartbeat: number;
                } | {
                    kind: "finished";
                    endedAt: number;
                } | {
                    error: string;
                    kind: "error";
                };
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "state" | "state.error" | "state.kind" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt");
            indexes: {
                threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        streamDeltas: {
            document: {
                _id: import("convex/values").GenericId<"streamDeltas">;
                _creationTime: number;
                streamId: import("convex/values").GenericId<"streamingMessages">;
                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;
                })[];
            };
            fieldPaths: "_id" | ("_creationTime" | "streamId" | "start" | "end" | "parts");
            indexes: {
                streamId_start_end: ["streamId", "start", "end", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        memories: {
            document: {
                _id: import("convex/values").GenericId<"memories">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: import("convex/values").GenericId<"threads"> | undefined;
                embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
                memory: string;
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "embeddingId" | "memory");
            indexes: {
                threadId: ["threadId", "_creationTime"];
                userId: ["userId", "_creationTime"];
                embeddingId: ["embeddingId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        apiKeys: {
            document: {
                _id: import("convex/values").GenericId<"apiKeys">;
                _creationTime: number;
                name?: string | undefined;
            };
            fieldPaths: "_id" | ("_creationTime" | "name");
            indexes: {
                name: ["name", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
    }>>(tableName: TableName) => import("convex/values").VId<import("convex/values").GenericId<TableName>, "required">;
    doc: <TableName extends import("convex/server").TableNamesInDataModel<{
        threads: {
            document: {
                _id: import("convex/values").GenericId<"threads">;
                _creationTime: number;
                userId?: string | undefined;
                title?: string | undefined;
                summary?: string | undefined;
                defaultSystemPrompt?: string | undefined;
                parentThreadIds?: import("convex/values").GenericId<"threads">[] | undefined;
                order?: number | undefined;
                status: "active" | "archived";
            };
            fieldPaths: "_id" | ("_creationTime" | "status" | "userId" | "title" | "summary" | "defaultSystemPrompt" | "parentThreadIds" | "order");
            indexes: {
                userId: ["userId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        embeddings_128: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_128">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_256: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_256">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_512: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_512">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_768: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_768">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1024: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1024">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1408: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1408">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_1536: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_1536">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_2048: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_2048">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_3072: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_3072">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        embeddings_4096: {
            document: {
                _id: import("convex/values").GenericId<"embeddings_4096">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: string | undefined;
                model_table_userId?: string[] | undefined;
                model_table_threadId?: string[] | undefined;
                model: string;
                table: string;
                vector: number[];
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector");
            indexes: {
                model_table_threadId: ["model", "table", "threadId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: import("convex/server").GenericTableSearchIndexes;
            vectorIndexes: {
                vector: {
                    vectorField: "vector";
                    dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                    filterFields: "model_table_userId" | "model_table_threadId";
                };
            };
        };
        files: {
            document: {
                _id: import("convex/values").GenericId<"files">;
                _creationTime: number;
                filename?: string | undefined;
                mimeType: string;
                storageId: string;
                hash: string;
                refcount: number;
                lastTouchedAt: number;
            };
            fieldPaths: "_id" | ("_creationTime" | "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt");
            indexes: {
                hash: ["hash", "_creationTime"];
                refcount: ["refcount", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        messages: {
            document: {
                _id: import("convex/values").GenericId<"messages">;
                _creationTime: number;
                id?: string | undefined;
                userId?: string | undefined;
                embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
                fileIds?: import("convex/values").GenericId<"files">[] | undefined;
                files?: any[] | undefined;
                error?: string | undefined;
                agentName?: string | undefined;
                model?: string | undefined;
                provider?: string | undefined;
                providerOptions?: Record<string, Record<string, any>> | undefined;
                message?: {
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    role: "user";
                    content: string | ({
                        providerOptions?: Record<string, Record<string, any>> | undefined;
                        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;
                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;
                parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
                stepId?: string | undefined;
                status: "pending" | "success" | "failed";
                order: number;
                threadId: import("convex/values").GenericId<"threads">;
                stepOrder: number;
                tool: boolean;
            };
            fieldPaths: "_id" | ("_creationTime" | "id" | "status" | "userId" | "order" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "files" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "parentMessageId" | "stepId" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`);
            indexes: {
                threadId_status_tool_order_stepOrder: ["threadId", "status", "tool", "order", "stepOrder", "_creationTime"];
                embeddingId: ["embeddingId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {
                text_search: {
                    searchField: "text";
                    filterFields: "userId" | "threadId";
                };
            };
            vectorIndexes: {};
        };
        streamingMessages: {
            document: {
                _id: import("convex/values").GenericId<"streamingMessages">;
                _creationTime: number;
                userId?: string | undefined;
                agentName?: string | undefined;
                model?: string | undefined;
                provider?: string | undefined;
                providerOptions?: Record<string, Record<string, any>> | undefined;
                order: number;
                threadId: import("convex/values").GenericId<"threads">;
                stepOrder: number;
                state: {
                    timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
                    kind: "streaming";
                    lastHeartbeat: number;
                } | {
                    kind: "finished";
                    endedAt: number;
                } | {
                    error: string;
                    kind: "error";
                };
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "state" | "state.error" | "state.kind" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt");
            indexes: {
                threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        streamDeltas: {
            document: {
                _id: import("convex/values").GenericId<"streamDeltas">;
                _creationTime: number;
                streamId: import("convex/values").GenericId<"streamingMessages">;
                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;
                })[];
            };
            fieldPaths: "_id" | ("_creationTime" | "streamId" | "start" | "end" | "parts");
            indexes: {
                streamId_start_end: ["streamId", "start", "end", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        memories: {
            document: {
                _id: import("convex/values").GenericId<"memories">;
                _creationTime: number;
                userId?: string | undefined;
                threadId?: import("convex/values").GenericId<"threads"> | undefined;
                embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
                memory: string;
            };
            fieldPaths: "_id" | ("_creationTime" | "userId" | "threadId" | "embeddingId" | "memory");
            indexes: {
                threadId: ["threadId", "_creationTime"];
                userId: ["userId", "_creationTime"];
                embeddingId: ["embeddingId", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
        apiKeys: {
            document: {
                _id: import("convex/values").GenericId<"apiKeys">;
                _creationTime: number;
                name?: string | undefined;
            };
            fieldPaths: "_id" | ("_creationTime" | "name");
            indexes: {
                name: ["name", "_creationTime"];
                by_id: ["_id"];
                by_creation_time: ["_creationTime"];
            };
            searchIndexes: {};
            vectorIndexes: {};
        };
    }>>(tableName: TableName) => import("convex-helpers/validators").AddFieldsToValidator<{
        apiKeys: import("convex/server").TableDefinition<import("convex/values").VObject<{
            name?: string | undefined;
        }, {
            name: import("convex/values").VString<string | undefined, "optional">;
        }, "required", "name">, {
            name: ["name", "_creationTime"];
        }, {}, {}>;
        embeddings_128: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_256: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_512: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_768: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_1024: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_1408: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_1536: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_2048: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_3072: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        embeddings_4096: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: string | undefined;
            model_table_userId?: string[] | undefined;
            model_table_threadId?: string[] | undefined;
            model: string;
            table: string;
            vector: number[];
        }, {
            model: import("convex/values").VString<string, "required">;
            table: import("convex/values").VString<string, "required">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VString<string | undefined, "optional">;
            model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
            vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
        }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, {
            model_table_threadId: ["model", "table", "threadId", "_creationTime"];
        }, import("convex/server").GenericTableSearchIndexes, {
            vector: {
                vectorField: "vector";
                dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096;
                filterFields: "model_table_userId" | "model_table_threadId";
            };
        }>;
        threads: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            title?: string | undefined;
            summary?: string | undefined;
            defaultSystemPrompt?: string | undefined;
            parentThreadIds?: import("convex/values").GenericId<"threads">[] | undefined;
            order?: number | undefined;
            status: "active" | "archived";
        }, {
            userId: import("convex/values").VString<string | undefined, "optional">;
            title: import("convex/values").VString<string | undefined, "optional">;
            summary: import("convex/values").VString<string | undefined, "optional">;
            status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
            defaultSystemPrompt: import("convex/values").VString<string | undefined, "optional">;
            parentThreadIds: import("convex/values").VArray<import("convex/values").GenericId<"threads">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">, "optional">;
            order: import("convex/values").VFloat64<number | undefined, "optional">;
        }, "required", "status" | "userId" | "title" | "summary" | "defaultSystemPrompt" | "parentThreadIds" | "order">, {
            userId: ["userId", "_creationTime"];
        }, {}, {}>;
        messages: import("convex/server").TableDefinition<import("convex/values").VObject<{
            id?: string | undefined;
            userId?: string | undefined;
            embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
            fileIds?: import("convex/values").GenericId<"files">[] | undefined;
            files?: any[] | undefined;
            error?: string | undefined;
            agentName?: string | undefined;
            model?: string | undefined;
            provider?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            message?: {
                providerOptions?: Record<string, Record<string, any>> | undefined;
                role: "user";
                content: string | ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    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;
            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;
            parentMessageId?: import("convex/values").GenericId<"messages"> | undefined;
            stepId?: string | undefined;
            status: "pending" | "success" | "failed";
            order: number;
            threadId: import("convex/values").GenericId<"threads">;
            stepOrder: number;
            tool: boolean;
        }, {
            id: import("convex/values").VString<string | undefined, "optional">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
            order: import("convex/values").VFloat64<number, "required">;
            stepOrder: import("convex/values").VFloat64<number, "required">;
            embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
            fileIds: import("convex/values").VArray<import("convex/values").GenericId<"files">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"files">, "required">, "optional">;
            error: import("convex/values").VString<string | undefined, "optional">;
            status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
            agentName: import("convex/values").VString<string | undefined, "optional">;
            model: import("convex/values").VString<string | undefined, "optional">;
            provider: import("convex/values").VString<string | undefined, "optional">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            message: import("convex/values").VUnion<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                role: "user";
                content: string | ({
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    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").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;
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    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">, import("convex/values").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">, import("convex/values").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;
                }, [import("convex/values").VObject<{
                    providerOptions?: Record<string, Record<string, any>> | undefined;
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
                }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
                    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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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;
                }[], import("convex/values").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;
                    }, [import("convex/values").VObject<{
                        type: "text";
                        text: string;
                    }, {
                        type: import("convex/values").VLiteral<"text", "required">;
                        text: import("convex/values").VString<string, "required">;
                    }, "required", "type" | "text">, import("convex/values").VObject<{
                        mimeType?: string | undefined;
                        type: "image";
                        data: string;
                    }, {
                        type: import("convex/values").VLiteral<"image", "required">;
                        data: import("convex/values").VString<string, "required">;
                        mimeType: import("convex/values").VString<string | undefined, "optional">;
                    }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
                    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">, import("convex/values").VObject<{
                providerOptions?: Record<string, Record<string, any>> | undefined;
                role: "system";
                content: string;
            }, {
                role: import("convex/values").VLiteral<"system", "required">;
                content: import("convex/values").VString<string, "required">;
                providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
            }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
            tool: import("convex/values").VBoolean<boolean, "required">;
            text: import("convex/values").VString<string | undefined, "optional">;
            usage: import("convex/values").VObject<{
                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">;
            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, import("convex/values").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;
            }, [import("convex/values").VObject<{
                signature?: string | undefined;
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
                signature: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
                type: "redacted";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"redacted", "required">;
                data: import("convex/values").VString<string, "required">;
            }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
            warnings: import("convex/values").VArray<({
                details?: string | undefined;
                type: "unsupported-setting";
                setting: string;
            } | {
                details?: string | undefined;
                type: "unsupported-tool";
                tool: any;
            } | {
                type: "other";
                message: string;
            })[] | undefined, import("convex/values").VUnion<{
                details?: string | undefined;
                type: "unsupported-setting";
                setting: string;
            } | {
                details?: string | undefined;
                type: "unsupported-tool";
                tool: any;
            } | {
                type: "other";
                message: string;
            }, [import("convex/values").VObject<{
                details?: string | undefined;
                type: "unsupported-setting";
                setting: string;
            }, {
                type: import("convex/values").VLiteral<"unsupported-setting", "required">;
                setting: import("convex/values").VString<string, "required">;
                details: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
                details?: string | undefined;
                type: "unsupported-tool";
                tool: any;
            }, {
                type: import("convex/values").VLiteral<"unsupported-tool", "required">;
                tool: import("convex/values").VAny<any, "required", string>;
                details: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
                type: "other";
                message: string;
            }, {
                type: import("convex/values").VLiteral<"other", "required">;
                message: import("convex/values").VString<string, "required">;
            }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
            finishReason: import("convex/values").VUnion<"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>;
            parentMessageId: import("convex/values").VId<import("convex/values").GenericId<"messages"> | undefined, "optional">;
            stepId: import("convex/values").VString<string | undefined, "optional">;
            files: import("convex/values").VArray<any[] | undefined, import("convex/values").VAny<any, "required", string>, "optional">;
        }, "required", "id" | "status" | "userId" | "order" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "files" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "usage" | "providerMetadata" | "sources" | "reasoningDetails" | "warnings" | "finishReason" | "parentMessageId" | "stepId" | "message.providerOptions" | "message.role" | `message.providerOptions.${string}` | "message.content" | "usage.promptTokens" | "usage.completionTokens" | "usage.totalTokens" | `providerMetadata.${string}`>, {
            threadId_status_tool_order_stepOrder: ["threadId", "status", "tool", "order", "stepOrder", "_creationTime"];
            embeddingId: ["embeddingId", "_creationTime"];
        }, {
            text_search: {
                searchField: "text";
                filterFields: "userId" | "threadId";
            };
        }, {}>;
        streamingMessages: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            agentName?: string | undefined;
            model?: string | undefined;
            provider?: string | undefined;
            providerOptions?: Record<string, Record<string, any>> | undefined;
            order: number;
            threadId: import("convex/values").GenericId<"threads">;
            stepOrder: number;
            state: {
                timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
                kind: "streaming";
                lastHeartbeat: number;
            } | {
                kind: "finished";
                endedAt: number;
            } | {
                error: string;
                kind: "error";
            };
        }, {
            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>;
            threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">;
            order: import("convex/values").VFloat64<number, "required">;
            /**
             * The step order of the first message in the stream.
             * If the stream ends up with both a tool call and a tool result,
             * the stepOrder of the result will be +1 of the tool call.
             */
            stepOrder: import("convex/values").VFloat64<number, "required">;
            state: import("convex/values").VUnion<{
                timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
                kind: "streaming";
                lastHeartbeat: number;
            } | {
                kind: "finished";
                endedAt: number;
            } | {
                error: string;
                kind: "error";
            }, [import("convex/values").VObject<{
                timeoutFnId?: import("convex/values").GenericId<"_scheduled_functions"> | undefined;
                kind: "streaming";
                lastHeartbeat: number;
            }, {
                kind: import("convex/values").VLiteral<"streaming", "required">;
                lastHeartbeat: import("convex/values").VFloat64<number, "required">;
                timeoutFnId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions"> | undefined, "optional">;
            }, "required", "kind" | "lastHeartbeat" | "timeoutFnId">, import("convex/values").VObject<{
                kind: "finished";
                endedAt: number;
            }, {
                kind: import("convex/values").VLiteral<"finished", "required">;
                endedAt: import("convex/values").VFloat64<number, "required">;
            }, "required", "kind" | "endedAt">, import("convex/values").VObject<{
                error: string;
                kind: "error";
            }, {
                kind: import("convex/values").VLiteral<"error", "required">;
                error: import("convex/values").VString<string, "required">;
            }, "required", "error" | "kind">], "required", "error" | "kind" | "lastHeartbeat" | "timeoutFnId" | "endedAt">;
        }, "required", "userId" | "order" | "threadId" | "stepOrder" | "agentName" | "model" | "provider" | "providerOptions" | `providerOptions.${string}` | "state" | "state.error" | "state.kind" | "state.lastHeartbeat" | "state.timeoutFnId" | "state.endedAt">, {
            threadId_state_order_stepOrder: ["threadId", "state.kind", "order", "stepOrder", "_creationTime"];
        }, {}, {}>;
        streamDeltas: import("convex/server").TableDefinition<import("convex/values").VObject<{
            streamId: import("convex/values").GenericId<"streamingMessages">;
            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").VId<import("convex/values").GenericId<"streamingMessages">, "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;
            }, [import("convex/values").VObject<{
                type: "text-delta";
                textDelta: string;
            }, {
                type: import("convex/values").VLiteral<"text-delta", "required">;
                textDelta: import("convex/values").VString<string, "required">;
            }, "required", "type" | "textDelta">, import("convex/values").VObject<{
                type: "reasoning";
                textDelta: string;
            }, {
                type: import("convex/values").VLiteral<"reasoning", "required">;
                textDelta: import("convex/values").VString<string, "required">;
            }, "required", "type" | "textDelta">, import("convex/values").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: import("convex/values").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">, import("convex/values").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}`>, import("convex/values").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">, import("convex/values").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">, import("convex/values").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;
                }, [import("convex/values").VObject<{
                    type: "text";
                    text: string;
                }, {
                    type: import("convex/values").VLiteral<"text", "required">;
                    text: import("convex/values").VString<string, "required">;
                }, "required", "type" | "text">, import("convex/values").VObject<{
                    mimeType?: string | undefined;
                    type: "image";
                    data: string;
                }, {
                    type: import("convex/values").VLiteral<"image", "required">;
                    data: import("convex/values").VString<string, "required">;
                    mimeType: import("convex/values").VString<string | undefined, "optional">;
                }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
                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">, {
            streamId_start_end: ["streamId", "start", "end", "_creationTime"];
        }, {}, {}>;
        memories: import("convex/server").TableDefinition<import("convex/values").VObject<{
            userId?: string | undefined;
            threadId?: import("convex/values").GenericId<"threads"> | undefined;
            embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined;
            memory: string;
        }, {
            threadId: import("convex/values").VId<import("convex/values").GenericId<"threads"> | undefined, "optional">;
            userId: import("convex/values").VString<string | undefined, "optional">;
            memory: import("convex/values").VString<string, "required">;
            embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>;
        }, "required", "userId" | "threadId" | "embeddingId" | "memory">, {
            threadId: ["threadId", "_creationTime"];
            userId: ["userId", "_creationTime"];
            embeddingId: ["embeddingId", "_creationTime"];
        }, {}, {}>;
        files: import("convex/server").TableDefinition<import("convex/values").VObject<{
            filename?: string | undefined;
            mimeType: string;
            storageId: string;
            hash: string;
            refcount: number;
            lastTouchedAt: number;
        }, {
            storageId: import("convex/values").VString<string, "required">;
            mimeType: import("convex/values").VString<string, "required">;
            filename: import("convex/values").VString<string | undefined, "optional">;
            hash: import("convex/values").VString<string, "required">;
            refcount: import("convex/values").VFloat64<number, "required">;
            lastTouchedAt: import("convex/values").VFloat64<number, "required">;
        }, "required", "mimeType" | "filename" | "storageId" | "hash" | "refcount" | "lastTouchedAt">, {
            hash: ["hash", "_creationTime"];
            refcount: ["refcount", "_creationTime"];
        }, {}, {}>;
    }[TableName]["validator"], {
        _id: import("convex/values").VId<import("convex/values").GenericId<TableName>, "required">;
        _creationTime: import("convex/values").VFloat64<number, "required">;
    }>;
    null: () => import("convex/values").VNull<null, "required">;
    number: () => import("convex/values").VFloat64<number, "required">;
    float64: () => import("convex/values").VFloat64<number, "required">;
    bigint: () => import("convex/values").VInt64<bigint, "required">;
    int64: () => import("convex/values").VInt64<bigint, "required">;
    boolean: () => import("convex/values").VBoolean<boolean, "required">;
    string: () => import("convex/values").VString<string, "required">;
    bytes: () => import("convex/values").VBytes<ArrayBuffer, "required">;
    literal: <T extends string | number | bigint | boolean>(literal: T) => import("convex/values").VLiteral<T, "required">;
    array: <T_1 extends import("convex/values").Validator<any, "required", any>>(element: T_1) => import("convex/values").VArray<T_1["type"][], T_1, "required">;
    object: <T_2 extends import("convex/values").PropertyValidators>(fields: T_2) => import("convex/values").VObject<import("convex/server").Expand<{ [Property in { [Property_1 in keyof T_2]: T_2[Property_1]["isOptional"] extends "optional" ? Property_1 : never; }[keyof T_2]]?: Exclude<Infer<T_2[Property]>, undefined> | undefined; } & { [Property_1 in Exclude<keyof T_2, { [Property in keyof T_2]: T_2[Property]["isOptional"] extends "optional" ? Property : never; }[keyof T_2]>]: Infer<T_2[Property_1]>; }>, T_2, "required", { [Property_2 in keyof T_2]: Property_2 | `${Property_2 & string}.${T_2[Property_2]["fieldPaths"]}`; }[keyof T_2] & string>;
    record: <Key extends import("convex/values").Validator<string, "required", any>, Value extends import("convex/values").Validator<any, "required", any>>(keys: Key, values: Value) => import("convex/values").VRecord<Record<Infer<Key>, Value["type"]>, Key, Value, "required", string>;
    union: <T_3 extends import("convex/values").Validator<any, "required", any>[]>(...members: T_3) => import("convex/values").VUnion<T_3[number]["type"], T_3, "required", T_3[number]["fieldPaths"]>;
    any: () => import("convex/values").VAny<any, "required", string>;
    optional: <T_4 extends import("convex/values").GenericValidator>(value: T_4) => import("convex/values").VOptional<T_4>;
};
export { vv as v };
export declare const vThreadDoc: import("convex/values").VObject<{
    userId?: string | undefined;
    title?: string | undefined;
    summary?: string | undefined;
    _id: string;
    _creationTime: number;
    status: "active" | "archived";
}, {
    _id: import("convex/values").VString<string, "required">;
    _creationTime: import("convex/values").VFloat64<number, "required">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    title: import("convex/values").VString<string | undefined, "optional">;
    summary: import("convex/values").VString<string | undefined, "optional">;
    status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>;
}, "required", "_id" | "_creationTime" | "status" | "userId" | "title" | "summary">;
export type ThreadDoc = Infer<typeof vThreadDoc>;
export declare const vMessageDoc: import("convex/values").VObject<{
    id?: string | undefined;
    userId?: string | undefined;
    embeddingId?: string | undefined;
    fileIds?: string[] | undefined;
    error?: string | undefined;
    agentName?: string | undefined;
    model?: string | undefined;
    provider?: string | undefined;
    providerOptions?: Record<string, Record<string, any>> | undefined;
    message?: {
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            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;
    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;
    _id: string;
    _creationTime: number;
    status: "pending" | "success" | "failed";
    order: number;
    threadId: string;
    stepOrder: number;
    tool: boolean;
}, {
    threadId: import("convex/values").VString<string, "required">;
    embeddingId: import("convex/values").VString<string | undefined, "optional">;
    fileIds: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
    id: import("convex/values").VString<string | undefined, "optional">;
    userId: import("convex/values").VString<string | undefined, "optional">;
    order: import("convex/values").VFloat64<number, "required">;
    stepOrder: import("convex/values").VFloat64<number, "required">;
    error: import("convex/values").VString<string | undefined, "optional">;
    status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>;
    agentName: import("convex/values").VString<string | undefined, "optional">;
    model: import("convex/values").VString<string | undefined, "optional">;
    provider: import("convex/values").VString<string | undefined, "optional">;
    providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    message: import("convex/values").VUnion<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "user";
        content: string | ({
            providerOptions?: Record<string, Record<string, any>> | undefined;
            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").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;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            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">, import("convex/values").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">, import("convex/values").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;
        }, [import("convex/values").VObject<{
            providerOptions?: Record<string, Record<string, any>> | undefined;
            type: "text";
            text: string;
        }, {
            type: import("convex/values").VLiteral<"text", "required">;
            text: import("convex/values").VString<string, "required">;
            providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
        }, "required", "type" | "providerOptions" | "text" | `providerOptions.${string}`>, import("convex/values").VObject<{
            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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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">, import("convex/values").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;
        }[], import("convex/values").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;
            }, [import("convex/values").VObject<{
                type: "text";
                text: string;
            }, {
                type: import("convex/values").VLiteral<"text", "required">;
                text: import("convex/values").VString<string, "required">;
            }, "required", "type" | "text">, import("convex/values").VObject<{
                mimeType?: string | undefined;
                type: "image";
                data: string;
            }, {
                type: import("convex/values").VLiteral<"image", "required">;
                data: import("convex/values").VString<string, "required">;
                mimeType: import("convex/values").VString<string | undefined, "optional">;
            }, "required", "type" | "mimeType" | "data">], "required", "type" | "text" | "mimeType" | "data">, "optional">;
            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">, import("convex/values").VObject<{
        providerOptions?: Record<string, Record<string, any>> | undefined;
        role: "system";
        content: string;
    }, {
        role: import("convex/values").VLiteral<"system", "required">;
        content: import("convex/values").VString<string, "required">;
        providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>;
    }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">], "optional", "providerOptions" | "role" | `providerOptions.${string}` | "content">;
    tool: import("convex/values").VBoolean<boolean, "required">;
    text: import("convex/values").VString<string | undefined, "optional">;
    usage: import("convex/values").VObject<{
        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">;
    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, import("convex/values").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;
    }, [import("convex/values").VObject<{
        signature?: string | undefined;
        type: "text";
        text: string;
    }, {
        type: import("convex/values").VLiteral<"text", "required">;
        text: import("convex/values").VString<string, "required">;
        signature: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "text" | "signature">, import("convex/values").VObject<{
        type: "redacted";
        data: string;
    }, {
        type: import("convex/values").VLiteral<"redacted", "required">;
        data: import("convex/values").VString<string, "required">;
    }, "required", "type" | "data">], "required", "type" | "text" | "data" | "signature">, "optional">;
    warnings: import("convex/values").VArray<({
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    })[] | undefined, import("convex/values").VUnion<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    } | {
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    } | {
        type: "other";
        message: string;
    }, [import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-setting";
        setting: string;
    }, {
        type: import("convex/values").VLiteral<"unsupported-setting", "required">;
        setting: import("convex/values").VString<string, "required">;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "setting" | "details">, import("convex/values").VObject<{
        details?: string | undefined;
        type: "unsupported-tool";
        tool: any;
    }, {
        type: import("convex/values").VLiteral<"unsupported-tool", "required">;
        tool: import("convex/values").VAny<any, "required", string>;
        details: import("convex/values").VString<string | undefined, "optional">;
    }, "required", "type" | "tool" | "details" | `tool.${string}`>, import("convex/values").VObject<{
        type: "other";
        message: string;
    }, {
        type: import("convex/values").VLiteral<"other", "required">;
        message: import("convex/values").VString<string, "required">;
    }, "required", "type" | "message">], "required", "type" | "message" | "tool" | "setting" | "details" | `tool.${string}`>, "optional">;
    finishReason: import("convex/values").VUnion<"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>;
    _id: import("convex/values").VString<string, "required">;
    _creationTime: import("convex/values").VFloat64<number, "required">;
}, "required", "_id" | "_creationTime" | "id" | "status" | "userId" | "order" | "threadId" | "stepOrder" | "embeddingId" | "fileIds" | "error" | "agentName" | "model" | "provider" | "providerOptions" | "message" | "text" | `providerOptions.${string}` | "reasoning" | "tool" | "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 MessageDoc = Infer<typeof vMessageDoc>;
export default schema;
//# sourceMappingURL=schema.d.ts.map