import { type MarkerKind } from '@mdgate/document'; /** One piece of a level's number text. */ export type NumberText = { type: 'literal'; text: string; } | { type: 'level'; level: number; }; /** A level's resolved number pattern. */ export interface NumberPattern { text: NumberText[]; legal: boolean; } export declare function emptyNumberPattern(): NumberPattern; /** Parse WordprocessingML-style percent patterns (`%1`–`%9`). */ export declare function parsePercentPattern(text: string): NumberText[]; /** * Render a pattern against the current sequence values. `undefined` when the * result matches the default label produced from the own level's marker and value. */ export declare function compositeLabel(pattern: NumberPattern, ownMarker: MarkerKind, ownValue: number, levelMarker: (level: number) => MarkerKind, levelValue: (level: number) => number): string | undefined;