import { z } from 'zod'; import { TokenMetrics } from '../models/metrics'; import winston from 'winston'; export declare const OpenRouterConfigSchema: z.ZodObject<{ apiKey: z.ZodString; model: z.ZodDefault; temperature: z.ZodDefault; maxTokens: z.ZodDefault; baseURL: z.ZodDefault; retryAttempts: z.ZodDefault; retryDelay: z.ZodDefault; }, "strip", z.ZodTypeAny, { apiKey: string; model: string; temperature: number; maxTokens: number; baseURL: string; retryAttempts: number; retryDelay: number; }, { apiKey: string; model?: string | undefined; temperature?: number | undefined; maxTokens?: number | undefined; baseURL?: string | undefined; retryAttempts?: number | undefined; retryDelay?: number | undefined; }>; export type OpenRouterConfig = z.infer; export interface ManagerResponse { content: string; tokenUsage: TokenMetrics; model: string; finishReason?: string; } export declare class OpenRouterClient { private client; private config; private logger; constructor(config: OpenRouterConfig, logger: winston.Logger); sendMessage(systemPrompt: string, userMessage: string, context?: Record): Promise; streamMessage(systemPrompt: string, userMessage: string, onChunk: (chunk: string) => void): Promise; private calculateCost; private estimateTokens; private isRateLimitError; private isRetryableError; private delay; updateConfig(config: Partial): void; getConfig(): OpenRouterConfig; } //# sourceMappingURL=openrouter-client.d.ts.map