/** * Base interface and types for chat models */ import { z } from 'zod'; import { BaseMessage } from './messages'; import { ChatInvokeCompletion } from './views'; /** * Base interface for all chat models */ export interface BaseChatModel { _verified_api_keys?: boolean; model: string; readonly provider: string; readonly name: string; readonly model_name: string; /** * Invoke the chat model with messages */ ainvoke(messages: BaseMessage[], outputFormat?: z.ZodSchema): Promise>; } /** * Abstract base class for chat models */ export declare abstract class AbstractChatModel implements BaseChatModel { model: string; _verified_api_keys: boolean; constructor(model: string); abstract get provider(): string; get name(): string; get model_name(): string; abstract ainvoke(messages: BaseMessage[], outputFormat?: z.ZodSchema): Promise>; protected parseStructuredOutput(rawOutput: string, outputFormat?: z.ZodSchema): T | string; } /** * Type guard to check if an object implements BaseChatModel */ export declare function isBaseChatModel(obj: any): obj is BaseChatModel; //# sourceMappingURL=base.d.ts.map