import type { Point2D, PositiveSize2D } from '../anchor'; import type { EffectsRef } from './effect'; import type { Fill } from './fill'; import type { Geometry } from './geometry'; import type { LineProperties } from './line'; export type { Point2D, PositiveSize2D }; export type BlackWhiteMode = 'clr' | 'auto' | 'gray' | 'ltGray' | 'invGray' | 'grayWhite' | 'blackGray' | 'blackWhite' | 'black' | 'white' | 'hidden'; /** ``. Position / size / rotation transformation. */ export interface Transform2D { off?: Point2D; ext?: PositiveSize2D; /** Rotation in 60_000-ths of a degree (0..21_600_000). */ rot?: number; flipH?: boolean; flipV?: boolean; chOff?: Point2D; chExt?: PositiveSize2D; } /** * `` wrapper. 3-D / text-body slots will be added as their primitive * modules land — kept absent here so the type stays closed under the modules * currently shipped. */ export interface ShapeProperties { bwMode?: BlackWhiteMode; xfrm?: Transform2D; geometry?: Geometry; fill?: Fill; ln?: LineProperties; /** Either `` (kind: 'lst') or `` (kind: 'dag'). */ effects?: EffectsRef; } export declare const makeShapeProperties: (opts?: Partial) => ShapeProperties;