import { matchesAnswerRelevance, matchesClassification, matchesClosedQa, matchesContextFaithfulness, matchesContextRecall, matchesContextRelevance, matchesFactuality, matchesLlmRubric, matchesModeration, matchesSelectBest, matchesSimilarity } from '../matchers';
import type { ProviderResponse, ScoringFunction } from '../types';
import { type ApiProvider, type Assertion, type AtomicTestCase, type GradingResult } from '../types';
export declare const MODEL_GRADED_ASSERTION_TYPES: Set<"moderation" | "cost" | "hallucination" | `trusys:redteam:${string}` | "factuality" | "answer-relevance" | "bleu" | "classifier" | "contains" | "contains-all" | "contains-any" | "contains-html" | "contains-json" | "contains-sql" | "contains-xml" | "context-faithfulness" | "context-recall" | "context-relevance" | "conversation-relevance" | "equals" | "finish-reason" | "g-eval" | "gleu" | "guardrails" | "icontains" | "icontains-all" | "icontains-any" | "is-html" | "is-json" | "not-is-json" | "is-refusal" | "is-sql" | "is-valid-function-call" | "is-valid-openai-function-call" | "is-valid-openai-tools-call" | "is-xml" | "javascript" | "latency" | "levenshtein" | "llm-rubric" | "pi" | "meteor" | "model-graded-closedqa" | "model-graded-factuality" | "perplexity" | "perplexity-score" | "python" | "regex" | "rouge-n" | "not-rouge-n" | "ruby" | "similar" | "similar:cosine" | "similar:dot" | "similar:euclidean" | "starts-with" | "tool-call-f1" | "trace-error-spans" | "trace-span-count" | "trace-span-duration" | "search-rubric" | "webhook" | "code-execution" | "conversation-completeness" | "knowledge-retention" | "conversational-g-eval" | "conversation-relevancy" | "role-adherence" | "code-correctness" | "contains-code-language" | "code-language" | "code-readability" | "image-helpfulness" | "text-to-image" | "image-editing" | "multimodal-answer-relevancy" | "image-coherence" | "multimodal-faithfulness" | "multimodal-g-eval" | "image-reference" | "multimodal-contextual-precision" | "multimodal-contextual-recall" | "multimodal-contextual-relevancy" | "tool-correctness" | "task-completion" | "argument-correctness" | "plan-quality" | "plan-adherence" | "goal-fulfillment" | "execution-efficiency" | "reasoning-coherence" | "agent-custom-eval" | "tool-selection-quality" | "not-moderation" | "not-cost" | "not-hallucination" | "not-factuality" | "not-answer-relevance" | "not-bleu" | "not-classifier" | "not-contains" | "not-contains-all" | "not-contains-any" | "not-contains-html" | "not-contains-json" | "not-contains-sql" | "not-contains-xml" | "not-context-faithfulness" | "not-context-recall" | "not-context-relevance" | "not-conversation-relevance" | "not-equals" | "not-finish-reason" | "not-g-eval" | "not-gleu" | "not-guardrails" | "not-icontains" | "not-icontains-all" | "not-icontains-any" | "not-is-html" | "not-not-is-json" | "not-is-refusal" | "not-is-sql" | "not-is-valid-function-call" | "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-pi" | "not-meteor" | "not-model-graded-closedqa" | "not-model-graded-factuality" | "not-perplexity" | "not-perplexity-score" | "not-python" | "not-regex" | "not-not-rouge-n" | "not-ruby" | "not-similar" | "not-similar:cosine" | "not-similar:dot" | "not-similar:euclidean" | "not-starts-with" | "not-tool-call-f1" | "not-trace-error-spans" | "not-trace-span-count" | "not-trace-span-duration" | "not-search-rubric" | "not-webhook" | "not-code-execution" | "not-conversation-completeness" | "not-knowledge-retention" | "not-conversational-g-eval" | "not-conversation-relevancy" | "not-role-adherence" | "not-code-correctness" | "not-contains-code-language" | "not-code-language" | "not-code-readability" | "not-image-helpfulness" | "not-text-to-image" | "not-image-editing" | "not-multimodal-answer-relevancy" | "not-image-coherence" | "not-multimodal-faithfulness" | "not-multimodal-g-eval" | "not-image-reference" | "not-multimodal-contextual-precision" | "not-multimodal-contextual-recall" | "not-multimodal-contextual-relevancy" | "not-tool-correctness" | "not-task-completion" | "not-argument-correctness" | "not-plan-quality" | "not-plan-adherence" | "not-goal-fulfillment" | "not-execution-efficiency" | "not-reasoning-coherence" | "not-agent-custom-eval" | "not-tool-selection-quality" | "select-best" | "human" | "max-score" | "audio-sentiment" | "audio-call-category" | "audio-interruption-handling" | "audio-language" | "audio-model-graded" | "audio-intent-identification" | "audio-consent-check" | "audio-drop-out-rates" | "audio-agent-response-time" | "audio-talk-to-listen-ratio" | "audio-conversation-coherence" | "audio-disclaimer-check" | "audio-pii-check" | "audio-language-switch" | "audio-professional-tone" | "audio-clarity" | "audio-background-noise" | "audio-escalation" | "audio-stt-accuracy" | "audio-stt-correctness" | "audio-call-disconnected" | "audio-no-agent-response" | "audio-incomplete-agent-response" | "audio-repetition" | "audio-greeting" | "audio-number-correctness" | "audio-stt-missing" | "audio-call-outcome" | "video-visual-quality" | "text-to-video" | "video-factual-consistency" | "video-temporal-consistency" | "video-g-eval">;
/**
 * Checks if a string contains API call error patterns
 * @param message - The error message or reason string to check
 * @returns true if the message indicates an API call error
 */
export declare function isApiCallError(message: string | undefined | null): boolean;
export declare function runAssertion({ prompt, provider, assertion, test, latencyMs, providerResponse, assertIndex, workspaceId, }: {
    prompt?: string;
    provider?: ApiProvider;
    assertion: Assertion;
    test: AtomicTestCase;
    providerResponse: ProviderResponse;
    latencyMs?: number;
    assertIndex?: number;
    workspaceId?: string;
}): Promise<GradingResult>;
export declare function runAssertions({ assertScoringFunction, latencyMs, prompt, provider, providerResponse, test, workspaceId, }: {
    assertScoringFunction?: ScoringFunction;
    latencyMs?: number;
    prompt?: string;
    provider?: ApiProvider;
    providerResponse: ProviderResponse;
    test: AtomicTestCase;
    workspaceId?: string;
}): Promise<GradingResult>;
export declare function runCompareAssertion(test: AtomicTestCase, assertion: Assertion, outputs: string[], workspaceId?: string): Promise<GradingResult[]>;
export declare function readAssertions(filePath: string): Promise<Assertion[]>;
declare const _default: {
    runAssertion: typeof runAssertion;
    runAssertions: typeof runAssertions;
    matchesSimilarity: typeof matchesSimilarity;
    matchesClassification: typeof matchesClassification;
    matchesLlmRubric: typeof matchesLlmRubric;
    matchesFactuality: typeof matchesFactuality;
    matchesClosedQa: typeof matchesClosedQa;
    matchesAnswerRelevance: typeof matchesAnswerRelevance;
    matchesContextRecall: typeof matchesContextRecall;
    matchesContextRelevance: typeof matchesContextRelevance;
    matchesContextFaithfulness: typeof matchesContextFaithfulness;
    matchesComparisonBoolean: typeof matchesSelectBest;
    matchesModeration: typeof matchesModeration;
};
export default _default;
//# sourceMappingURL=index.d.ts.map