/**
 * Detailed metadata about a linting rule
 */
export interface RuleMetadata {
    /** Rule identifier (e.g., 'format', 'structure') */
    id: string;
    /** Human-readable rule name */
    name: string;
    /** Brief description of what the rule checks */
    description: string;
    /** Detailed explanation of the rule */
    rationale: string;
    /** Whether the rule can auto-fix violations */
    fixable: boolean;
    /** Default severity level */
    defaultSeverity: 'error' | 'warning' | 'info';
    /** Example of code that violates the rule */
    badExamples: Array<{
        code: string;
        explanation: string;
    }>;
    /** Example of code that follows the rule */
    goodExamples: Array<{
        code: string;
        explanation: string;
    }>;
    /** Configuration options for the rule */
    options?: Array<{
        name: string;
        type: string;
        default: string | number | boolean;
        description: string;
    }>;
    /** Related rules */
    related?: string[];
    /** Links to documentation */
    references?: string[];
}
/**
 * Registry of all rule metadata
 */
export declare const RULE_METADATA: Record<string, RuleMetadata>;
/**
 * Get metadata for a specific rule
 */
export declare function getRuleMetadata(ruleId: string): RuleMetadata | undefined;
/**
 * Get all available rule IDs
 */
export declare function getAllRuleIds(): string[];
/**
 * Check if a rule exists
 */
export declare function isValidRule(ruleId: string): boolean;
//# sourceMappingURL=ruleMetadata.d.ts.map