export interface ChatOptions { signal?: AbortSignal; } export interface GatewayChatMessage { role: 'system' | 'user' | 'assistant' | 'tool'; content: string; } export abstract class BaseProvider { abstract chat(messages: GatewayChatMessage[], modelName: string, options?: ChatOptions): Promise> }