import { ESLintUtils } from '@typescript-eslint/utils';
import { type Rule } from 'eslint';
declare const ruleCreator: <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds, unknown>>) => ESLintUtils.RuleModule<MessageIds, Options, unknown, ESLintUtils.RuleListener> & {
    name: string;
};
export declare function createRule(options: {
    name: string;
    rule: Rule.RuleModule;
}): Rule.RuleModule & {
    name: string;
};
export declare function createRule<Options extends readonly unknown[], MessageIds extends string>(options: Parameters<typeof ruleCreator<Options, MessageIds>>[0]): ReturnType<typeof ruleCreator<Options, MessageIds>>;
export {};
