import type { MultishotToolDefinition } from './types';
export interface RouterCompletionRequest {
    apiKey: string;
    baseUrl: string;
    model: string;
    messages: Array<Record<string, unknown>>;
    tools?: MultishotToolDefinition[];
    temperature?: number;
    maxTokens?: number;
    signal?: AbortSignal;
}
export interface RouterToolCall {
    id: string;
    type: 'function';
    function: {
        name: string;
        arguments: string;
    };
}
export interface RouterCompletionResponse {
    message: {
        content?: string | null;
        tool_calls?: RouterToolCall[];
    };
    usage?: {
        prompt_tokens?: number;
        completion_tokens?: number;
    };
}
export declare function routerCompletion(req: RouterCompletionRequest): Promise<RouterCompletionResponse>;
export declare function estimateRouterCost(model: string, usage?: {
    prompt_tokens?: number;
    completion_tokens?: number;
}): number;
export declare function defaultRouterBaseUrl(): string;
export declare function requireRouterApiKey(): string;
//# sourceMappingURL=router.d.ts.map