import { AbstractRule, BaseRuleConfig, RuleOptions } from '@webpieces/rules-config'; import type { PlainRule, Rule, RuleScope, EditContext, FileContext, BashContext, Violation } from './types'; import type { FixHint } from './fix-hint'; /** * Wraps a custom rule loaded from a `rulesDir` (a plain object) so it satisfies the same * runtime `Rule` contract as the built-in rule classes: it gains `shouldRun()` (driven by the * rule's config entry in webpieces.config.json) from AbstractRule, and it seeds `ctx.options` * with the merged option bag before delegating to the plain rule's `check()` — preserving the * exact behavior custom rules had under the old options-based runner. */ export declare class CustomRuleAdapter extends AbstractRule implements Rule { readonly scope: RuleScope; readonly files: readonly string[]; readonly description: string; readonly fixHint: FixHint; readonly defaultOptions: RuleOptions; private readonly impl; private readonly rawConfig; constructor(impl: PlainRule, rawConfig: RuleOptions); private buildOptions; check(ctx: EditContext | FileContext | BashContext): readonly Violation[]; }