import { Archive } from '../classes/Archive.js'; import { XmlFile } from '../classes/XmlFile.js'; import { FileMime } from '../enums.js'; import { ParagraphProperties } from '../properties/paragraph-properties.js'; import { TextProperties } from '../properties/text-properties.js'; declare type AbstractNumbering = { id: number; type: 'hybridMultilevel' | 'singleLevel' | 'multilevel' | null; levels: Array<{ start: number | null; format: 'bullet' | 'cardinalText' | 'chicago' | 'decimal' | 'decimalEnclosedCircle' | 'decimalEnclosedFullstop' | 'decimalEnclosedParen' | 'decimalZero' | 'lowerLetter' | 'lowerRoman' | 'ordinalText' | 'upperLetter' | 'upperRoman' | 'none' | null; affix: string | null; alignment: 'left' | 'right' | 'center' | 'both' | null; paragraph?: ParagraphProperties | null; text?: TextProperties | null; }>; }; declare type AbstractNumberingWithOptionalId = Omit & { id?: number; }; declare type ConcreteNumbering = { id: number; abstract: number; }; export declare class NumberingXml extends XmlFile { static contentType: FileMime; /** * The abstract numbering rules. * * Each item correlates with */ private readonly abstracts; /** * Concrete numbering rules, the ones that are directly associated with zero or more paragraphs. * * Each item correlates with */ private readonly implementations; isEmpty(): boolean; /** * Register a new abstract numberign style and return the identifier. * * Not meant for public use. */ addAbstract(style: AbstractNumberingWithOptionalId): number; /** * Register a concrete implementation of an abstract numbering style and return the concrete * identifier. */ addImplementation(abstract: number): number; /** * Register a concrete implementation of an abstract numbering style and return the concrete * identifier. Create the abstract numbering style if the passed argument is an object rather * than a reference to an existing abstract. * * Not meant for public use. */ add(abstract: number | AbstractNumberingWithOptionalId): number; protected toNode(): Document; static fromNode(dom: Document, location: string): NumberingXml; static fromArchive(archive: Archive, location: string): Promise; getImplementations(): ConcreteNumbering[]; getAbstracts(): AbstractNumbering[]; } export {};