import { LLMProviders } from '../../LLMService.typedefs'; import type { SchemaAdapterInterface } from '../../utilities/schema/LLMSchema.typedefs'; import { OpenAISchemaAdapter } from '../../providers/OpenAI/schemas/OpenAISchemaAdapter'; import { GoogleSchemaAdapter } from '../../providers/GoogleGenerativeAI/schemas/GoogleSchemaAdapter'; import { LLMAPISchemaAdapter } from '../../providers/LLMAPI/schemas/LLMAPISchemaAdapter'; /** * Type-safe registry of schema adapters for all supported providers. * * When adding a new provider: * 1. Add the provider to LLMProviders enum * 2. Create the schema adapter implementing SchemaAdapterInterface * 3. Add the adapter to this registry (TypeScript will enforce this) * 4. Set to `null` if the provider doesn't support structured output * * This ensures compile-time safety and forces developers to handle all providers. */ export declare const SCHEMA_ADAPTER_REGISTRY: { readonly OpenAI: OpenAISchemaAdapter; readonly GoogleGenerativeAI: GoogleSchemaAdapter; readonly LLMAPI: LLMAPISchemaAdapter; }; /** * Type-safe helper to get a schema adapter for a provider. * Returns null if the provider doesn't support structured output. */ export declare function getSchemaAdapter(provider: LLMProviders): SchemaAdapterInterface | null;