/**
 * @superdoc/engines-lists contract
 *
 * Formats list labels and computes hanging indents for multi-level numbering.
 * Extracted from PM list helpers and DOCX numbering utilities to ensure consistent
 * marker generation across PM and layout.
 */
export interface NumberingLevel {
    format: 'decimal' | 'lowerLetter' | 'upperLetter' | 'lowerRoman' | 'upperRoman' | 'bullet' | 'custom';
    text: string;
    start: number;
    indent: {
        left: number;
        hanging: number;
    };
    alignment?: 'left' | 'center' | 'right';
}
/**
 * Format a list label from a numbering level definition.
 *
 * Handles template substitution (e.g., "%1." → "1."), numbering formats
 * (Arabic, Roman, alphabetic), and custom bullet characters.
 *
 * @param level - Numbering level definition
 * @param indices - Array of indices for each level (e.g., [1, 2] for "1.b")
 * @returns Formatted label text and estimated width in pt
 *
 * @example
 * formatListLabel(
 *   { format: 'decimal', text: '%1.', start: 1, ... },
 *   [3]
 * ) // → { text: '3.', width: 12 }
 *
 * @example
 * formatListLabel(
 *   { format: 'lowerLetter', text: '%1)', start: 1, ... },
 *   [2]
 * ) // → { text: 'b)', width: 10 }
 */
export declare function formatListLabel(level: NumberingLevel, indices: number[]): {
    text: string;
    width: number;
};
/**
 * Compute hanging indent values for a list level.
 *
 * Returns the marker width, hanging indent (marker gutter), and first-line indent
 * based on the level's DOCX-derived indent metadata.
 *
 * @param level - Numbering level definition
 * @returns Indent values in pt
 */
export declare function computeListIndent(level: NumberingLevel): {
    labelWidth: number;
    hangingIndent: number;
    firstLineIndent: number;
};
//# sourceMappingURL=lists.d.ts.map