import type { LlmClient } from "./llm.js";
export interface SkillMeta {
    name: string;
    tags: string[];
}
export interface ActivationPrompt {
    prompt: string;
    expected: "should_activate" | "should_not_activate" | "auto";
}
export type Verdict = "ok" | "scope_warning" | "drift_warning";
export interface ActivationResult {
    prompt: string;
    expected: "should_activate" | "should_not_activate";
    activate: boolean;
    confidence: "high" | "medium" | "low";
    reasoning: string;
    classification: "TP" | "TN" | "FP" | "FN";
    autoClassified?: boolean;
    verdict: Verdict;
}
export interface ActivationSummary {
    results: ActivationResult[];
    precision: number;
    recall: number;
    reliability: number;
    total: number;
    tp: number;
    tn: number;
    fp: number;
    fn: number;
    scopeWarnings: number;
    driftWarnings: number;
    autoClassifiedCount: number;
}
export declare function testActivation(skillDescription: string, prompts: ActivationPrompt[], client: LlmClient, onResult?: (result: ActivationResult) => void, meta?: SkillMeta, onProgress?: (phase: "classifying", index: number, total: number) => void): Promise<ActivationSummary>;
export declare function computeVerdict(autoClassified: boolean | undefined, expected: "should_activate" | "should_not_activate", actual: boolean): Verdict;
