import type { LintRule } from "./rule.js"; /** * A utility function to create a lint rule. * * @example * const myRule = createLintRule({ id: "example.rule" }, (args) => { * // Implement your rule logic here * }); * * // using the rule * myRule("error"); * * // you can also pass settings to the rule * const myRule2 = createLintRule<{ strict: boolean }>({ id: "example.rule" }, (args) => { * // Implement your rule logic here * }); * * // settings must be provided when using the rule * myRule2("error", { strict: true }); */ export declare const createLintRule: | undefined = undefined>(args: { id: LintRule["id"]; setup: (args: { config: Pick; report: (args: { node: import("./rule.js").LintableNode; message: string; }) => void; } & { settings: Settings; }) => ReturnType; }) => ConfigureLintRuleFunction; /** * Type for the function that configures a lint rule. */ type ConfigureLintRuleFunction | undefined = undefined> = Settings extends undefined ? (level: LintRule["level"]) => LintRule : (level: LintRule["level"], settings: Settings) => LintRule; export {}; //# sourceMappingURL=createLintRule.d.ts.map