import { type ZodType, z } from "zod"; import type { PromiseOrValue } from "../utils/type-utils.js"; import type { AgentInvokeOptions, AgentOptions, AgentProcessResult, AgentResponse, AgentResponseStream, GetterSchema, Message } from "./agent.js"; import { type ChatModelOutputUsage } from "./chat-model.js"; import { type FileType, type FileUnionContent, Model } from "./model.js"; export interface VideoModelOptions extends Omit, "model"> { model?: string; modelOptions?: VideoModelInputOptionsWithGetter; } export declare abstract class VideoModel extends Model { options?: VideoModelOptions | undefined; tag: string; constructor(options?: VideoModelOptions | undefined); get credential(): PromiseOrValue<{ url?: string; apiKey?: string; model?: string; }>; protected preprocess(input: I, options: AgentInvokeOptions): Promise; protected postprocess(input: I, output: O, options: AgentInvokeOptions): Promise; abstract process(input: I, options: AgentInvokeOptions): PromiseOrValue>; protected processAgentOutput(input: I, output: Exclude, AgentResponseStream>, options: AgentInvokeOptions): Promise; } export interface VideoModelInput extends Message { prompt: string; model?: string; size?: string; seconds?: string; outputFileType?: FileType; modelOptions?: VideoModelInputOptions; image?: FileUnionContent; } export interface VideoModelInputOptions extends Record { model?: string; } export type VideoModelInputOptionsWithGetter = GetterSchema; export declare const videoModelInputSchema: z.ZodObject<{ prompt: z.ZodString; model: z.ZodOptional; size: z.ZodOptional; seconds: z.ZodOptional; outputFileType: z.ZodOptional>; modelOptions: z.ZodOptional>; image: z.ZodOptional; mimeType: ZodType; } & { type: z.ZodLiteral<"local">; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; }, { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; }>, z.ZodObject<{ filename: ZodType; mimeType: ZodType; } & { type: z.ZodLiteral<"url">; url: z.ZodString; }, "strip", z.ZodTypeAny, { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; }, { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; }>, z.ZodObject<{ filename: ZodType; mimeType: ZodType; } & { type: z.ZodLiteral<"file">; data: z.ZodString; }, "strip", z.ZodTypeAny, { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; }, { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; }>]>>; }, "strip", z.ZodTypeAny, { prompt: string; model?: string | undefined; modelOptions?: Record | undefined; image?: { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; } | { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; } | { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; } | undefined; outputFileType?: "local" | "file" | "url" | undefined; size?: string | undefined; seconds?: string | undefined; }, { prompt: string; model?: string | undefined; modelOptions?: Record | undefined; image?: { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; } | { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; } | { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; } | undefined; outputFileType?: "local" | "file" | "url" | undefined; size?: string | undefined; seconds?: string | undefined; }>; export interface VideoModelOutput extends Message { videos: FileUnionContent[]; /** * Token usage statistics */ usage?: ChatModelOutputUsage; /** * Model name or version used */ model?: string; seconds?: number; } export declare const videoModelOutputSchema: z.ZodObject<{ videos: z.ZodArray; mimeType: ZodType; } & { type: z.ZodLiteral<"local">; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; }, { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; }>, z.ZodObject<{ filename: ZodType; mimeType: ZodType; } & { type: z.ZodLiteral<"url">; url: z.ZodString; }, "strip", z.ZodTypeAny, { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; }, { type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; }>, z.ZodObject<{ filename: ZodType; mimeType: ZodType; } & { type: z.ZodLiteral<"file">; data: z.ZodString; }, "strip", z.ZodTypeAny, { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; }, { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; }>]>, "many">; usage: z.ZodOptional; cacheCreationInputTokens: ZodType; cacheReadInputTokens: ZodType; creditPrefix: ZodType<"$" | "€" | "¥" | undefined, z.ZodTypeDef, "$" | "€" | "¥" | undefined>; }, "strip", z.ZodTypeAny, { inputTokens: number; outputTokens: number; aigneHubCredits?: number | undefined; cacheCreationInputTokens?: number | undefined; cacheReadInputTokens?: number | undefined; creditPrefix?: "$" | "€" | "¥" | undefined; }, { inputTokens: number; outputTokens: number; aigneHubCredits?: number | undefined; cacheCreationInputTokens?: number | undefined; cacheReadInputTokens?: number | undefined; creditPrefix?: "$" | "€" | "¥" | undefined; }>>; model: z.ZodOptional; seconds: z.ZodOptional; }, "strip", z.ZodTypeAny, { videos: ({ type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; } | { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; } | { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; })[]; model?: string | undefined; usage?: { inputTokens: number; outputTokens: number; aigneHubCredits?: number | undefined; cacheCreationInputTokens?: number | undefined; cacheReadInputTokens?: number | undefined; creditPrefix?: "$" | "€" | "¥" | undefined; } | undefined; seconds?: number | undefined; }, { videos: ({ type: "url"; url: string; filename?: string | undefined; mimeType?: string | undefined; } | { type: "file"; data: string; filename?: string | undefined; mimeType?: string | undefined; } | { path: string; type: "local"; filename?: string | undefined; mimeType?: string | undefined; })[]; model?: string | undefined; usage?: { inputTokens: number; outputTokens: number; aigneHubCredits?: number | undefined; cacheCreationInputTokens?: number | undefined; cacheReadInputTokens?: number | undefined; creditPrefix?: "$" | "€" | "¥" | undefined; } | undefined; seconds?: number | undefined; }>;