import type { Alignment } from './alignment'; import type { Border } from './borders'; import type { Fill } from './fills'; import type { Font } from './fonts'; import type { NumberFormat } from './numbers'; import type { Protection } from './protection'; import type { Stylesheet } from './stylesheet'; /** * Differential ("partial") style. Every component is optional; only * the set fields override the base style of whatever the DXF is * applied to. */ export interface DifferentialStyle { readonly font?: Font; readonly fill?: Fill; readonly border?: Border; readonly alignment?: Alignment; readonly protection?: Protection; /** * NumberFormat carries both the id and the format code so DXFs can * reference custom user-defined number formats without ambiguity. */ readonly numFmt?: NumberFormat; } export declare function makeDifferentialStyle(opts?: Partial): DifferentialStyle; /** * Stylesheet pool extension. The DXF list is allocated lazily on first * use so empty stylesheets stay slim. */ export interface StylesheetWithDxfs extends Stylesheet { dxfs?: DifferentialStyle[]; _dxfIdByKey?: Map; } /** * Add a DifferentialStyle to the stylesheet's `dxfs` pool. Returns * the 0-based index. Idempotent on structural equality (via * stableStringify). */ export declare function addDxf(ss: Stylesheet, dxf: DifferentialStyle): number; /** Read-only access to the dxfs pool. Returns `[]` when none registered. */ export declare function getDxfs(ss: Stylesheet): ReadonlyArray;