import type { Rule } from '../domain/Rule.js';
import { ContextFile } from '../domain/ContextFile.js';
import { Violation } from '../domain/Violation.js';
/**
 * Validates Claude Code output-style definitions (`.claude/output-styles/*.md`).
 *
 * @remarks
 * An output style is a Markdown file whose YAML frontmatter declares a `name`
 * and `description`; Claude Code lists it by those fields, so a style missing
 * them is undiscoverable. This rule reuses the shared {@link FrontmatterParser}
 * to require both fields and warns on unrecognized keys (usually typos). It is
 * a pure rule and performs no IO.
 */
export declare class OutputStyleRule implements Rule {
    readonly id = "output-style";
    readonly description = "Validates Claude Code output-style frontmatter (.claude/output-styles/*.md)";
    appliesTo(file: ContextFile): boolean;
    lint(file: ContextFile): Violation[];
    private validateRequired;
    /**
     * Warn on frontmatter keys outside the known set. Keys are read straight from
     * the fence lines (matching the parser's own `key:` grammar) so the warning
     * lists exactly what the author typed.
     */
    private validateUnknownKeys;
}
//# sourceMappingURL=OutputStyleRule.d.ts.map