import { TextlintKernelRule } from "../textlint-kernel-interface";
import { TextlintLintableRuleDescriptor } from "./TextlintLintableRuleDescriptor";
import { TextlintFixableRuleDescriptor } from "./TextlintFixableRuleDescriptor";
export type TextlintRuleAllRuleDescriptor = TextlintLintableRuleDescriptor | TextlintFixableRuleDescriptor;
/**
 * The collection class of TextlintRuleDescriptor
 */
export declare class TextlintRuleDescriptors {
    private ruleDescriptorList;
    constructor(ruleDescriptorList?: TextlintRuleAllRuleDescriptor[]);
    /**
     * Convert this to TextlintKernel rules format
     * @returns {Array}
     */
    toKernelRulesFormat(): Array<TextlintKernelRule>;
    /**
     * Return enabled lintable descriptors
     */
    get lintableDescriptors(): TextlintLintableRuleDescriptor[];
    /**
     * Return enabled fixable descriptors
     */
    get fixableDescriptors(): TextlintFixableRuleDescriptor[];
    /**
     * Return enabled descriptors
     */
    get descriptors(): TextlintRuleAllRuleDescriptor[];
    /**
     * Return all descriptors that include disabled descriptors
     */
    get allDescriptors(): TextlintRuleAllRuleDescriptor[];
    /**
     * filter duplicated descriptors
     */
    withoutDuplicated(): TextlintRuleDescriptors;
    toJSON(): {
        id: string;
        options: {
            [index: string]: any;
            severity?: import("@textlint/types").TextlintRuleSeverityLevelKey | undefined;
        };
    }[];
}
//# sourceMappingURL=TextlintRuleDescriptors.d.ts.map