import type { TextlintRuleModule } from "@textlint/types";
/**
 * @typedef {{key: TextlintRuleModule}} RulesObject
 */
export declare class RuleMap extends Map<string, TextlintRuleModule> {
    /**
     * has rule at least one > 0
     * @returns {boolean}
     */
    hasRuleAtLeastOne(): boolean;
    getAllRuleNames(): MapIterator<string>;
    getRule(ruleKey: string): TextlintRuleModule | undefined;
    /**
     * @returns {RulesObject}
     */
    getAllRules(): {
        [index: string]: TextlintRuleModule;
    };
    isDefinedRule(ruleKey: string): boolean;
    /**
     * @param {string} ruleKey
     * @param ruleHandler
     */
    defineRule(ruleKey: string, ruleHandler: TextlintRuleModule): void;
    /**
     * reset defined rules
     */
    resetRules(): void;
    toJSON(): {
        [index: string]: TextlintRuleModule;
    };
}
//# sourceMappingURL=rule-map.d.ts.map