import { AutoProcessorMediaNode, ProcessorNodeSettings } from "./common"; import { FrameRate } from "../types"; import { Resolution } from "./types"; import type { LiveSpec } from "./livePlan"; import { ReasoningGeminiProvider, ReasoningOpenAIProvider } from "./reasoningPlan"; /** * @public * Status events from the live evaluate session. */ export type LiveEvaluateStatus = "connected" | "setupCompleted" | "turnComplete"; /** * @public * Token usage statistics from a live evaluate turn. */ export interface LiveEvaluateUsage { inputTokens: number; outputTokens: number; totalTokens: number; } /** * @public * Video configuration for the live evaluate node. */ export interface LiveEvaluateVideoSettings { resolution: Resolution; frameRate: FrameRate; } /** * @public * Union of all reasoning provider configurations */ export type LiveReasoningProvider = ReasoningGeminiProvider | ReasoningOpenAIProvider; /** * @public * Settings for a LiveEvaluateNode. * The spec carries the configuration from the live plan phase. */ export interface LiveEvaluateSettings extends ProcessorNodeSettings { spec: LiveSpec; provider: LiveReasoningProvider; videoSettings: LiveEvaluateVideoSettings; onEvent?: (ev: { name: string; id: string; fields: Record; }) => void; onText?: (text: string) => void; onStatus?: (status: LiveEvaluateStatus) => void; onUsage?: (usage: LiveEvaluateUsage) => void; } /** * @public * A media node that uses the Gemini Live API to continuously analyse * video/audio, dispatching tool calls and text in real time. */ export declare class LiveEvaluateNode extends AutoProcessorMediaNode<"audio" | "video"> { } //# sourceMappingURL=liveEvaluate.d.ts.map