import { type ChatMessage, type ChatOptions, type ChatResponse, type ModelProvider } from './provider.js';
export interface UniversalProviderConfig {
    /** Stable short name used in routing + telemetry (e.g. 'groq'). */
    name: string;
    /** Display label for the dashboard. */
    label: string;
    /** Base URL ending in /v1 (no trailing slash). */
    baseUrl: string;
    /** ENV var holding the API key. */
    apiKeyEnv: string;
    /** Default model to use if no per-call override. */
    defaultModel: string;
    /** Models the provider exposes that this gateway should advertise. */
    models: string[];
}
export declare const UNIVERSAL_PROVIDERS: UniversalProviderConfig[];
export declare class UniversalProvider implements ModelProvider {
    readonly name: string;
    model: string;
    private readonly cfg;
    constructor(cfg: UniversalProviderConfig);
    chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
}
/**
 * Return the subset of universal providers that have keys set right now
 * (or are local URLs). Failover registry uses this on boot + on env reload.
 */
export declare function activeUniversalProviders(): UniversalProvider[];
//# sourceMappingURL=universal.d.ts.map