/** * Component Rules Template — Structured template for the library researcher's output * * The component-rules.md artifact contains mandatory (CR-*) and advisory (AR-*) * rules derived from the knowledge graph. The code writer MUST read this first. */ export declare const COMPONENT_RULES_TEMPLATE = "# Component Rules: {{componentName}}\n\n## Base Class Selection\n\n**Base Class:** EdElement\n**Rationale:**\n\n## Mandatory Rules (CR-*)\n\n\n### CR-001: Tag Name\n- Tag: `ed-{{shortName}}`\n- CSS Class: `ed-c-{{shortName}}`\n\n### CR-002: BEM Naming\n- Block: `ed-c-{{shortName}}`\n- Elements: `ed-c-{{shortName}}__[element]`\n- Modifiers: `ed-c-{{shortName}}--[modifier]`\n\n### CR-003: Token Usage\n- No raw hex/px/font values\n- Use tier 2 (--ed-theme-*) or tier 3 tokens only\n- Intent must match property (background tokens for backgrounds, etc.)\n\n### CR-004: Base Class Contract\n\n\n### CR-005: Slot Strategy\n\n\n## Advisory Rules (AR-*)\n\n\n### AR-001: Composition Patterns\n\n\n### AR-002: Existing Component Reuse\n\n\n### AR-003: API Conventions\n\n\n## Token Requirements\n\n### Colors\n### Spacing\n### Typography\n### Other\n\n## Dependency Audit\n\n\n## Anti-Patterns\n\n"; /** Rule types */ export type RuleType = 'mandatory' | 'advisory'; /** A parsed rule */ export interface ParsedRule { id: string; type: RuleType; title: string; content: string; } /** * Parse component-rules.md into structured rules. */ export declare function parseRules(content: string): ParsedRule[]; /** * Extract the base class from component-rules.md. */ export declare function extractBaseClass(content: string): 'EdElement' | 'EdFormElement'; //# sourceMappingURL=component-rules.d.ts.map