import { EvalsOptions, EvalsInput, EvalsResult } from './types';
export declare abstract class BaseEval {
    protected provider: EvalsOptions['provider'];
    protected apiKey?: string;
    protected model?: string;
    protected baseUrl?: string;
    protected thresholdScore: number;
    protected collectMetrics: boolean;
    protected customCategories?: Record<string, string>;
    constructor(options?: EvalsOptions);
    abstract getSystemPrompt(): string;
    measure(input: EvalsInput): Promise<EvalsResult>;
    protected llmResponse(prompt: string): Promise<string>;
    protected recordMetrics(result: EvalsResult): void;
}
