/** * @superdoc/engines-paragraph contract * * Resolves paragraph spacing and indentation from computed styles and numbering overrides. * Consumed by both PM adapter and layout measurer to ensure consistent geometry. */ export interface ParagraphSpacing { before: number; after: number; line: number; lineUnit?: 'px' | 'multiplier'; lineRule: 'auto' | 'exact' | 'atLeast'; } export interface ParagraphIndent { left: number; right: number; firstLine: number; hanging: number; } /** * Minimal subset of ComputedStyle required for spacing/indent resolution. * The full ComputedStyle lives in @superdoc/style-engine. */ export interface ParagraphStyleInput { spacing?: { before?: number; after?: number; line?: number; lineRule?: 'auto' | 'exact' | 'atLeast'; }; indent?: { left?: number; right?: number; firstLine?: number; hanging?: number; }; } export interface NumberingStyleInput { indent?: { left?: number; hanging?: number; }; } /** * Resolve final spacing and indentation values from styles + numbering overrides. * * Word resolution rules: * 1. Start with base paragraph style spacing/indent * 2. Apply numbering definition overrides (if list item) * 3. Apply direct formatting overrides * * @param style - Computed paragraph style slice * @param numbering - Optional numbering overrides (for list items) * @returns Resolved spacing and indent in pt */ export declare function resolveSpacingIndent(style: ParagraphStyleInput, numbering?: NumberingStyleInput): { spacing: ParagraphSpacing; indent: ParagraphIndent; }; //# sourceMappingURL=paragraph.d.ts.map