import type { Command } from 'commander';
import { z } from 'zod';
import Eval from '../models/eval';
import type { CommandLineOptions, EvaluateOptions, TestSuite, TokenUsage, UnifiedConfig } from '../types';
declare const EvalCommandSchema: z.ZodObject<{
    description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    prompts: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    providers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    output: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    maxConcurrency: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    repeat: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    delay: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    vars: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    tests: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    config: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    assertions: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    modelOutputs: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    verbose: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    grader: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    tableCellMaxLength: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    write: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    cache: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    table: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    share: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    progressBar: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    watch: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    filterErrorsOnly: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    filterFailing: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    filterFirstN: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    filterMetadata: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    filterPattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    filterProviders: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    filterSample: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    filterTargets: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    var: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
    generateSuggestions: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    promptPrefix: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    promptSuffix: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    envPath: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    help: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    interactiveProviders: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
    remote: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    assertions?: string | undefined;
    vars?: string | undefined;
    config?: string[] | undefined;
    prompts?: string[] | undefined;
    delay?: number | undefined;
    output?: string[] | undefined;
    cache?: boolean | undefined;
    maxConcurrency?: number | undefined;
    write?: boolean | undefined;
    progressBar?: boolean | undefined;
    repeat?: number | undefined;
    description?: string | undefined;
    providers?: string[] | undefined;
    tests?: string | undefined;
    modelOutputs?: string | undefined;
    verbose?: boolean | undefined;
    grader?: string | undefined;
    tableCellMaxLength?: number | undefined;
    table?: boolean | undefined;
    share?: boolean | undefined;
    watch?: boolean | undefined;
    filterErrorsOnly?: string | undefined;
    filterFailing?: string | undefined;
    filterFirstN?: number | undefined;
    filterMetadata?: string | undefined;
    filterPattern?: string | undefined;
    filterProviders?: string | undefined;
    filterSample?: number | undefined;
    filterTargets?: string | undefined;
    var?: Record<string, string> | undefined;
    generateSuggestions?: boolean | undefined;
    promptPrefix?: string | undefined;
    promptSuffix?: string | undefined;
    envPath?: string | undefined;
    interactiveProviders?: boolean | undefined;
    help?: boolean | undefined;
    remote?: boolean | undefined;
}, {
    assertions?: string | undefined;
    vars?: string | undefined;
    config?: string[] | undefined;
    prompts?: string[] | undefined;
    delay?: number | undefined;
    output?: string[] | undefined;
    cache?: boolean | undefined;
    maxConcurrency?: number | undefined;
    write?: boolean | undefined;
    progressBar?: boolean | undefined;
    repeat?: number | undefined;
    description?: string | undefined;
    providers?: string[] | undefined;
    tests?: string | undefined;
    modelOutputs?: string | undefined;
    verbose?: boolean | undefined;
    grader?: string | undefined;
    tableCellMaxLength?: number | undefined;
    table?: boolean | undefined;
    share?: boolean | undefined;
    watch?: boolean | undefined;
    filterErrorsOnly?: string | undefined;
    filterFailing?: string | undefined;
    filterFirstN?: number | undefined;
    filterMetadata?: string | undefined;
    filterPattern?: string | undefined;
    filterProviders?: string | undefined;
    filterSample?: number | undefined;
    filterTargets?: string | undefined;
    var?: Record<string, string> | undefined;
    generateSuggestions?: boolean | undefined;
    promptPrefix?: string | undefined;
    promptSuffix?: string | undefined;
    envPath?: string | undefined;
    interactiveProviders?: boolean | undefined;
    help?: boolean | undefined;
    remote?: boolean | undefined;
}>;
export declare function showRedteamProviderLabelMissingWarning(testSuite: TestSuite): void;
/**
 * Format token usage for display in CLI output
 */
export declare function formatTokenUsage(usage: Partial<TokenUsage>): string;
export declare function doEval(cmdObj: Partial<CommandLineOptions & Command>, defaultConfig: Partial<UnifiedConfig>, defaultConfigPath: string | undefined, evaluateOptions: EvaluateOptions): Promise<Eval>;
export declare function evalCommand(program: Command, defaultConfig: Partial<UnifiedConfig>, defaultConfigPath: string | undefined): Command;
export { EvalCommandSchema };
//# sourceMappingURL=eval.d.ts.map