import type { TSESLint } from "@typescript-eslint/utils";
import type { UnknownArray } from "type-fest";
import { ESLintUtils } from "@typescript-eslint/utils";
/**
 * Broad rule-module type used by incrementally migrated rule files.
 */
export type AnyRuleModule = TSESLint.RuleModule<string, Readonly<UnknownArray>>;
type RuleCreatorFactory = ReturnType<typeof ESLintUtils.RuleCreator<RuleDocsMetadata>>;
type RuleDocsMetadata = {
    readonly catalogId?: string;
    readonly catalogIndex?: number;
    readonly deprecated?: boolean;
    readonly frozen?: boolean;
    readonly recommended: boolean;
    readonly requiresTypeChecking?: boolean;
    readonly ruleName?: string;
    readonly suggestion?: boolean;
};
/**
 * Shared rule factory for plugin rules.
 */
/**
 * Typed factory for defining plugin rules with consistent docs URLs.
 */
export declare const ruleCreator: RuleCreatorFactory;
export {};
//# sourceMappingURL=rule-creator.d.ts.map