import z from 'zod'; import { GenerateObjectInput, GenerateOptions, GenerateTextInput, GenerateTextOutput, StreamTextOutput, } from '../types'; abstract class BaseLLM { constructor(protected config: CONFIG) {} abstract generateText(input: GenerateTextInput): Promise; abstract streamText( input: GenerateTextInput, ): AsyncGenerator; abstract generateObject(input: GenerateObjectInput): Promise>; abstract streamObject( input: GenerateObjectInput, ): AsyncGenerator>>; } export default BaseLLM;