import { type Assertion, type TestCase } from '../types';
export declare function getFinalTest(test: TestCase, assertion: Assertion): Readonly<{
    options?: ({
        prefix?: string | undefined;
        suffix?: string | undefined;
    } & {
        transform?: string | undefined;
        postprocess?: string | undefined;
        transformVars?: string | undefined;
        storeOutputAs?: string | undefined;
    } & {
        provider?: any;
        rubricPrompt?: string | string[] | {
            role: string;
            content: string;
        }[] | undefined;
        factuality?: {
            subset?: number | undefined;
            superset?: number | undefined;
            agree?: number | undefined;
            disagree?: number | undefined;
            differButFactual?: number | undefined;
        } | undefined;
    } & {
        disableVarExpansion?: boolean | undefined;
        disableConversationVar?: boolean | undefined;
        runSerially?: boolean | undefined;
    }) | undefined;
    vars?: Record<string, string | number | boolean | any[] | Record<string, any> | (string | number | boolean)[]> | undefined;
    provider?: string | {
        id?: string | undefined;
        config?: any;
        label?: string | undefined;
        prompts?: string[] | undefined;
        transform?: string | undefined;
        delay?: number | undefined;
        env?: {
            PROMPTFOO_REMOTE_GENERATION_URL?: string | undefined;
            AI21_API_BASE_URL?: string | undefined;
            AI21_API_KEY?: string | undefined;
            ANTHROPIC_API_KEY?: string | undefined;
            AWS_BEDROCK_REGION?: string | undefined;
            FAL_KEY?: string | undefined;
            GROQ_API_KEY?: string | undefined;
            LOCALAI_BASE_URL?: string | undefined;
            WATSONX_AI_APIKEY?: string | undefined;
            WATSONX_AI_PROJECT_ID?: string | undefined;
            WATSONX_AI_BEARER_TOKEN?: string | undefined;
            WATSONX_AI_AUTH_TYPE?: string | undefined;
            AZURE_CLIENT_SECRET?: string | undefined;
            AZURE_CLIENT_ID?: string | undefined;
            AZURE_TENANT_ID?: string | undefined;
            AZURE_AUTHORITY_HOST?: string | undefined;
            AZURE_TOKEN_SCOPE?: string | undefined;
            AZURE_DEPLOYMENT_NAME?: string | undefined;
            AZURE_EMBEDDING_DEPLOYMENT_NAME?: string | undefined;
            AZURE_OPENAI_DEPLOYMENT_NAME?: string | undefined;
            AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME?: string | undefined;
            AZURE_OPENAI_API_BASE_URL?: string | undefined;
            AZURE_OPENAI_API_HOST?: string | undefined;
            AZURE_OPENAI_API_KEY?: string | undefined;
            AZURE_API_BASE_URL?: string | undefined;
            AZURE_API_HOST?: string | undefined;
            AZURE_API_KEY?: string | undefined;
            AZURE_OPENAI_BASE_URL?: string | undefined;
            BAM_API_HOST?: string | undefined;
            BAM_API_KEY?: string | undefined;
            CLOUDFLARE_ACCOUNT_ID?: string | undefined;
            CLOUDFLARE_API_KEY?: string | undefined;
            COHERE_API_KEY?: string | undefined;
            GOOGLE_API_HOST?: string | undefined;
            GOOGLE_API_KEY?: string | undefined;
            MISTRAL_API_BASE_URL?: string | undefined;
            MISTRAL_API_HOST?: string | undefined;
            MISTRAL_API_KEY?: string | undefined;
            OPENAI_API_BASE_URL?: string | undefined;
            OPENAI_API_HOST?: string | undefined;
            OPENAI_API_KEY?: string | undefined;
            OPENAI_BASE_URL?: string | undefined;
            OPENAI_ORGANIZATION?: string | undefined;
            PALM_API_HOST?: string | undefined;
            PALM_API_KEY?: string | undefined;
            REPLICATE_API_KEY?: string | undefined;
            REPLICATE_API_TOKEN?: string | undefined;
            VERTEX_API_HOST?: string | undefined;
            VERTEX_API_KEY?: string | undefined;
            VERTEX_PROJECT_ID?: string | undefined;
            VERTEX_PUBLISHER?: string | undefined;
            VERTEX_REGION?: string | undefined;
            PROMPTFOO_CA_CERT_PATH?: string | undefined;
            PROMPTFOO_INSECURE_SSL?: string | undefined;
        } | undefined;
    } | {
        callApi: import("../types").CallApiFunction;
        id: (...args: unknown[]) => string;
        config?: any;
        label?: string | undefined;
        transform?: string | undefined;
        delay?: number | undefined;
        callEmbeddingApi?: ((args_0: string, ...args: unknown[]) => Promise<import("../types").ProviderEmbeddingResponse>) | undefined;
        callClassificationApi?: ((args_0: string, ...args: unknown[]) => Promise<import("../types").ProviderClassificationResponse>) | undefined;
    } | undefined;
    metadata?: (Record<string, any> & {
        pluginConfig?: import("../types").PluginConfig | undefined;
        strategyConfig?: import("../types").RedteamObjectConfig | undefined;
    }) | undefined;
    description?: string | undefined;
    providerOutput?: string | {} | undefined;
    assert?: ({
        type: "moderation" | `promptfoo:redteam:${string}` | "cost" | "factuality" | "answer-relevance" | "bleu" | "classifier" | "contains-all" | "contains-any" | "contains-json" | "contains-sql" | "contains-xml" | "contains" | "context-faithfulness" | "context-recall" | "context-relevance" | "equals" | "g-eval" | "guardrails" | "icontains-all" | "icontains-any" | "icontains" | "is-json" | "is-refusal" | "is-sql" | "is-valid-openai-function-call" | "is-valid-openai-tools-call" | "is-xml" | "javascript" | "latency" | "levenshtein" | "llm-rubric" | "model-graded-closedqa" | "model-graded-factuality" | "perplexity-score" | "perplexity" | "python" | "regex" | "rouge-n" | "similar" | "starts-with" | "webhook" | "not-moderation" | "not-cost" | "not-factuality" | "not-answer-relevance" | "not-bleu" | "not-classifier" | "not-contains-all" | "not-contains-any" | "not-contains-json" | "not-contains-sql" | "not-contains-xml" | "not-contains" | "not-context-faithfulness" | "not-context-recall" | "not-context-relevance" | "not-equals" | "not-g-eval" | "not-guardrails" | "not-icontains-all" | "not-icontains-any" | "not-icontains" | "not-is-json" | "not-is-refusal" | "not-is-sql" | "not-is-valid-openai-function-call" | "not-is-valid-openai-tools-call" | "not-is-xml" | "not-javascript" | "not-latency" | "not-levenshtein" | "not-llm-rubric" | "not-model-graded-closedqa" | "not-model-graded-factuality" | "not-perplexity-score" | "not-perplexity" | "not-python" | "not-regex" | "not-rouge-n" | "not-similar" | "not-starts-with" | "not-webhook" | "select-best" | "human";
        value?: import("../types").AssertionValue | undefined;
        config?: Record<string, any> | undefined;
        provider?: any;
        transform?: string | undefined;
        rubricPrompt?: string | string[] | {
            role: string;
            content: string;
        }[] | undefined;
        threshold?: number | undefined;
        weight?: number | undefined;
        metric?: string | undefined;
    } | {
        type: "assert-set";
        assert: {
            type: "moderation" | `promptfoo:redteam:${string}` | "cost" | "factuality" | "answer-relevance" | "bleu" | "classifier" | "contains-all" | "contains-any" | "contains-json" | "contains-sql" | "contains-xml" | "contains" | "context-faithfulness" | "context-recall" | "context-relevance" | "equals" | "g-eval" | "guardrails" | "icontains-all" | "icontains-any" | "icontains" | "is-json" | "is-refusal" | "is-sql" | "is-valid-openai-function-call" | "is-valid-openai-tools-call" | "is-xml" | "javascript" | "latency" | "levenshtein" | "llm-rubric" | "model-graded-closedqa" | "model-graded-factuality" | "perplexity-score" | "perplexity" | "python" | "regex" | "rouge-n" | "similar" | "starts-with" | "webhook" | "not-moderation" | "not-cost" | "not-factuality" | "not-answer-relevance" | "not-bleu" | "not-classifier" | "not-contains-all" | "not-contains-any" | "not-contains-json" | "not-contains-sql" | "not-contains-xml" | "not-contains" | "not-context-faithfulness" | "not-context-recall" | "not-context-relevance" | "not-equals" | "not-g-eval" | "not-guardrails" | "not-icontains-all" | "not-icontains-any" | "not-icontains" | "not-is-json" | "not-is-refusal" | "not-is-sql" | "not-is-valid-openai-function-call" | "not-is-valid-openai-tools-call" | "not-is-xml" | "not-javascript" | "not-latency" | "not-levenshtein" | "not-llm-rubric" | "not-model-graded-closedqa" | "not-model-graded-factuality" | "not-perplexity-score" | "not-perplexity" | "not-python" | "not-regex" | "not-rouge-n" | "not-similar" | "not-starts-with" | "not-webhook" | "select-best" | "human";
            value?: import("../types").AssertionValue | undefined;
            config?: Record<string, any> | undefined;
            provider?: any;
            transform?: string | undefined;
            rubricPrompt?: string | string[] | {
                role: string;
                content: string;
            }[] | undefined;
            threshold?: number | undefined;
            weight?: number | undefined;
            metric?: string | undefined;
        }[];
        config?: Record<string, any> | undefined;
        threshold?: number | undefined;
        weight?: number | undefined;
        metric?: string | undefined;
    })[] | undefined;
    threshold?: number | undefined;
}>;
export declare function processFileReference(fileRef: string): object | string;
export declare function coerceString(value: string | object): string;
//# sourceMappingURL=utils.d.ts.map