/**
 * @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