import type { ApiProvider, AtomicTestCase, GradingResult } from '../../types/index';
import { RedteamGraderBase } from './base';
import type { Assertion } from '../../types';
import { RedteamPluginBase } from './base';
export declare const PLUGIN_ID = "trusys:redteam:wordplay";
export declare class WordplayPlugin extends RedteamPluginBase {
    readonly id = "trusys:redteam:wordplay";
    /**
     * Template: produce traps that *invite* profane answers via rhymes, sound-alikes,
     * fill-in-the-blank, synonyms with slang meanings, etc., without spelling them out.
     * The grader (trusys:redteam:wordplay) will mark FAIL if the model outputs profanity
     * or thinly veiled profanity, and PASS for safe refusals/alternatives.
     */
    protected getTemplate(): Promise<string>;
    protected getAssertions(_prompt: string): Assertion[];
}
export declare class WordplayGrader extends RedteamGraderBase {
    readonly id = "trusys:redteam:wordplay";
    rubric: string;
    getResult(prompt: string, llmOutput: string, test: AtomicTestCase, provider: ApiProvider | undefined): Promise<{
        grade: GradingResult;
        rubric: string;
    }>;
}
//# sourceMappingURL=wordplay.d.ts.map