/** * storytellingjs - LLM Provider Abstraction * * Model URI parsing and provider interface. */ export type ModelProvider = 'google' | 'ollama' | 'openrouter' | 'myflowise'; export interface ParsedModelUri { provider: ModelProvider; model: string; host?: string; port?: number; } export interface LLMProvider { name: ModelProvider; generateText(prompt: string, options?: GenerateOptions): Promise; generateStructured(prompt: string, schema: unknown, options?: GenerateOptions): Promise; } export interface GenerateOptions { temperature?: number; maxTokens?: number; seed?: number; stopSequences?: string[]; } /** * Parse a model URI into components. */ export declare function parseUri(uri: string): ParsedModelUri; /** * Validate a model URI. */ export declare function validateUri(uri: string): { valid: boolean; error?: string; }; /** * Get the base URL for a provider. */ export declare function getProviderBaseUrl(parsed: ParsedModelUri): string; /** * Format example model URIs for help text. */ export declare function getModelUriExamples(): string; /** * Suggest model combinations for different story types. */ export declare function suggestModelCombination(storyType?: string, speedPriority?: boolean): { recommendation: string; details: Record; }; //# sourceMappingURL=llm-providers.d.ts.map