import type { z } from 'zod'; export interface ChatMessage { role: 'system' | 'user' | 'assistant'; content: string; } export interface LLMProvider { readonly modelId: string; readonly providerName: string; chat(messages: ChatMessage[]): Promise; chatStructured(messages: ChatMessage[], schema: z.ZodType, schemaName: string): Promise; countTokens(text: string): number; } export declare class SchemaValidationError extends Error { readonly attempts: number; readonly lastError: Error; constructor(attempts: number, lastError: Error); } //# sourceMappingURL=provider.d.ts.map