import { RuleConfigSeverity } from '@commitlint/types';
import type { Rule } from '../types.js';
export declare function ruleIsDisabled(rule: Rule): rule is Readonly<[RuleConfigSeverity.Disabled]>;
/**
 * Check if a rule definition is active
 * @param rule to check
 * @return if the rule definition is active
 */
export declare function ruleIsActive<T extends Rule>(rule: T): rule is Exclude<T, Readonly<[RuleConfigSeverity.Disabled]>>;
/**
 * Check if a rule definition is applicable
 * @param rule to check
 * @return if the rule definition is applicable
 */
export declare function ruleIsApplicable(rule: Rule): rule is Readonly<[RuleConfigSeverity, 'always']> | Readonly<[RuleConfigSeverity, 'always', unknown]>;
/**
 * Check if a rule definition is applicable
 * @param rule to check
 * @return if the rule definition is applicable
 */
export declare function ruleIsNotApplicable(rule: Rule): rule is Readonly<[RuleConfigSeverity, 'never']> | Readonly<[RuleConfigSeverity, 'never', unknown]>;
export declare function enumRuleIsActive(rule: Rule): rule is Readonly<[
    RuleConfigSeverity.Warning | RuleConfigSeverity.Error,
    'always',
    string[]
]>;
export declare function getEnumList(rule: Rule): string[];
export declare function getMaxLength(rule?: Rule): number;
export declare function getMinLength(rule?: Rule): number;
//# sourceMappingURL=rules.d.ts.map