export type ProviderAuthType = "api-key" | "oauth"; export type ProviderCategory = "model" | "voice"; export type ProviderName = "anthropic" | "openai" | "codex" | "openrouter" | "copilot" | "xai" | "lmstudio" | "ollama" | "elevenlabs"; export interface ProviderOAuthConfig { authorizationUrl: string; tokenUrl: string; scopes?: string[]; clientIdEnv: string[]; clientSecretEnv?: string[]; defaultClientId?: string; defaultClientSecret?: string; scopeSeparator?: string; redirectPath?: string; tokenResponseType?: "json" | "form"; usePkce?: boolean; authorizationParams?: Record; tokenParams?: Record; tokenHeaders?: Record; } export interface ProviderSpec { name: ProviderName; label: string; type: ProviderAuthType; envVars: string[]; category: ProviderCategory; baseURL?: string; oauth?: ProviderOAuthConfig; requiresAuth?: boolean; } export declare function normalizeProviderName(provider: string): ProviderName | undefined; export declare function getProviderSpec(provider: string): ProviderSpec | undefined; export declare function listProviderSpecs(category?: ProviderCategory): ProviderSpec[];