import { DiagnosticMessages, LinterRuleDefinition } from "../core/types.js";
import { DiagnosticMatch } from "./expect.js";
import { BasicTestRunner } from "./types.js";
export interface LinterRuleTester {
    expect(code: string): LinterRuleTestExpect;
}
export interface LinterRuleTestExpect {
    toBeValid(): Promise<void>;
    toEmitDiagnostics(diagnostics: DiagnosticMatch | DiagnosticMatch[]): Promise<void>;
    applyCodeFix(codeFixId: string): ApplyCodeFixExpect;
}
export interface ApplyCodeFixExpect {
    toEqual(code: string): Promise<void>;
}
export declare function createLinterRuleTester(runner: BasicTestRunner, ruleDef: LinterRuleDefinition<string, DiagnosticMessages>, libraryName: string): LinterRuleTester;
//# sourceMappingURL=rule-tester.d.ts.map