import { GetSecondOpinionInput, LLMResponse, LLMError } from '../types.js'; export interface LLMProvider { /** * Get a response from the LLM provider * @param params The input parameters for the request * @returns A promise that resolves to either a successful response or an error */ getResponse(params: GetSecondOpinionInput): Promise; /** * Check if this provider supports reasoning effort parameter * @returns boolean indicating if reasoning_effort is supported */ supportsReasoningEffort(): boolean; /** * Check if a specific model supports reasoning effort parameter * @param model The model name to check * @returns boolean indicating if reasoning_effort is supported for this model */ supportsReasoningEffortForModel(model: string): boolean; /** * Get the available models for this provider * @returns Array of model identifiers */ getAvailableModels(): string[]; /** * Validate if a given model name is valid for this provider * @param model The model name to validate * @returns boolean indicating if the model is valid */ isValidModel(model: string): boolean; } /** * Base error handler for LLM providers * @param error The error object * @param provider The name of the provider where the error occurred * @returns A standardized LLMError object */ export declare function handleProviderError(error: unknown, provider: string): LLMError; /** * Create a successful response object * @param text The text response from the LLM * @returns A standardized LLMResponse object */ export declare function createSuccessResponse(text: string): LLMResponse;