import type { Rule, RuleContext, ParsedFiles, RuleEvalResult, AxisName, Severity, RuleMeta } from "../types.js"; export interface LyseRuleMeta { axis: AxisName; lyseRuleId: string; defaultSeverity: Severity; shortDescription: string; fullDescription: string; helpUri: string; rationale: string; examples: { good: string; bad: string; }[]; allowlist: string[]; } type LyseEvaluator = (ctx: RuleContext, parsedFiles: ParsedFiles) => Promise; export interface LyseRuleDefinition { meta: LyseRuleMeta; defaultOptions: Options; create: () => { evaluate: LyseEvaluator; }; classifyConfidence?: Rule["classifyConfidence"]; applyCodemod?: Rule["applyCodemod"]; singleFileCapable?: boolean; } export declare function createLyseRule(def: LyseRuleDefinition): Rule; export declare function getRegisteredRuleMeta(id: string): LyseRuleMeta | undefined; export declare function toRuleMeta(m: LyseRuleMeta): RuleMeta; export {};