import { IDML, PathCommand } from './idml'; import { Matrix } from 'transformation-matrix'; import { ParagraphOutput } from './controllers/Story'; import { FileTypeResult } from 'file-type'; import { ColorDescriptor, GradientDescriptor } from './util/fill'; export type BasicSurfaceStyle = { fill: ColorDescriptor | GradientDescriptor | null; stroke: ColorDescriptor | GradientDescriptor | null; strokeWidth: number; opacity: number; }; export type RectangleElement = { id: string; type: 'rectangle'; x: number; y: number; width: number; height: number; transform: Matrix; data?: { [K: string]: unknown; }; style: BasicSurfaceStyle; }; export type OvalElement = { id: string; type: 'oval'; x: number; y: number; radiusX: number; radiusY: number; transform: Matrix; data?: { [K: string]: unknown; }; style: BasicSurfaceStyle; }; export type PathElement = { id: string; type: 'path'; paths: PathCommand[][]; transform: Matrix; data?: { [K: string]: unknown; }; style: BasicSurfaceStyle; }; export type ImageElement = { id: string; type: 'image'; x: number; y: number; width: number; height: number; transform: Matrix; imageType?: FileTypeResult; contents?: ArrayBuffer; data?: { [K: string]: unknown; }; }; export type TextElement = { id: string; type: 'text'; x: number; y: number; width: number; height: number; transform: Matrix; paragraphs?: ParagraphOutput[]; data?: { [K: string]: unknown; }; }; export type MaskElement = { id: string; type: 'mask'; children: (RectangleElement | OvalElement | PathElement | ImageElement | TextElement | MaskElement | GroupElement)[]; mask: (RectangleElement | OvalElement | PathElement | ImageElement | TextElement | MaskElement | GroupElement)[]; transform: Matrix; data?: { [K: string]: unknown; }; style: BasicSurfaceStyle; }; export type GroupElement = { id: string; type: 'group'; children: (RectangleElement | OvalElement | PathElement | ImageElement | TextElement | MaskElement | GroupElement)[]; transform: Matrix; data?: { [K: string]: unknown; }; style: BasicSurfaceStyle; }; export type SVGElement = RectangleElement | OvalElement | PathElement | ImageElement | TextElement | MaskElement | GroupElement; export type SVGDocument = { viewBox: { x: number; y: number; width: number; height: number; }; elements: SVGElement[]; }; export type SpreadDocument = { viewBox: { x: number; y: number; width: number; height: number; }; id: string; pages: GroupElement[]; }; export declare function convertIDML2SVG(idml: IDML): Promise; //# sourceMappingURL=idml2svg.d.ts.map