import { ChatCompletion, ChatCompletionChunk, ChatCompletionCreateParamsNonStreaming, ChatCompletionCreateParamsStreaming } from "openai/resources/chat/completions";
import { Stream } from "openai/streaming";
import { RequestContext } from "../../utils/internal/requestContext.js";
/**
 * Options for configuring the OpenRouter client.
 */
export interface OpenRouterClientOptions {
    apiKey?: string;
    baseURL?: string;
    siteUrl?: string;
    siteName?: string;
}
/**
 * Defines the parameters for an OpenRouter chat completion request.
 */
export type OpenRouterChatParams = (ChatCompletionCreateParamsNonStreaming | ChatCompletionCreateParamsStreaming) & {
    top_k?: number;
    min_p?: number;
    transforms?: string[];
    models?: string[];
    route?: "fallback";
    provider?: Record<string, unknown>;
};
declare class OpenRouterProvider {
    private client?;
    status: "unconfigured" | "initializing" | "ready" | "error";
    private initializationError;
    constructor();
    initialize(options?: OpenRouterClientOptions): void;
    private checkReady;
    chatCompletion(params: OpenRouterChatParams, context: RequestContext): Promise<ChatCompletion | Stream<ChatCompletionChunk>>;
    chatCompletionStream(params: OpenRouterChatParams, context: RequestContext): Promise<AsyncIterable<ChatCompletionChunk>>;
}
declare const openRouterProviderInstance: OpenRouterProvider;
export { openRouterProviderInstance as openRouterProvider };
export type { OpenRouterProvider };
