interface Shadow { h: number; v: number; blur: number; color: string; } interface Shape extends BaseElement { type: "shape"; left: number; top: number; width: number; height: number; borderColor: string; borderWidth: number; borderType: "solid" | "dashed" | "dotted"; borderStrokeDasharray: string; shadow?: Shadow; fillColor: string; content: string; isFlipV: boolean; isFlipH: boolean; rotate: number; shapType: string; vAlign: string; path?: string; name: string; } interface Text extends BaseElement { type: "text"; left: number; top: number; width: number; height: number; borderColor: string; borderWidth: number; borderType: "solid" | "dashed" | "dotted"; borderStrokeDasharray: string; shadow?: Shadow; fillColor: string; isFlipV: boolean; isFlipH: boolean; isVertical: boolean; rotate: number; content: string; vAlign: string; name: string; } interface Image extends BaseElement { type: "image"; left: number; top: number; width: number; height: number; src: string; rotate: number; isFlipH: boolean; isFlipV: boolean; } interface TableCell extends BaseElement { text: string; rowSpan?: number; colSpan?: number; vMerge?: number; hMerge?: number; fillColor?: string; fontColor?: string; fontBold?: boolean; } interface Table extends BaseElement { type: "table"; left: number; top: number; width: number; height: number; data: TableCell[][]; borderColor: string; borderWidth: number; borderType: "solid" | "dashed" | "dotted"; } type ChartType = | "lineChart" | "line3DChart" | "barChart" | "bar3DChart" | "pieChart" | "pie3DChart" | "doughnutChart" | "areaChart" | "area3DChart" | "scatterChart" | "bubbleChart" | "radarChart" | "surfaceChart" | "surface3DChart" | "stockChart"; interface ChartValue { x: string; y: number; } interface ChartXLabel { [key: string]: string; } interface ChartItem { key: string; values: ChartValue[]; xlabels: ChartXLabel; } type ScatterChartData = [number[], number[]]; interface CommonChart { type: "chart"; left: number; top: number; width: number; height: number; data: ChartItem[]; chartType: Exclude; barDir?: "bar" | "col"; marker?: boolean; holeSize?: string; grouping?: string; style?: string; } interface ScatterChart { type: "chart"; left: number; top: number; width: number; height: number; data: ScatterChartData; chartType: "scatterChart" | "bubbleChart"; } type Chart = CommonChart | ScatterChart; interface Video extends BaseElement { type: "video"; left: number; top: number; width: number; height: number; blob?: string; src?: string; } interface Audio extends BaseElement { type: "audio"; left: number; top: number; width: number; height: number; blob: string; } interface Diagram extends BaseElement { type: "diagram"; left: number; top: number; width: number; height: number; elements: (Shape | Text)[]; } interface BaseElement { title?: string; } type BaseElement = | Shape | Text | Image | Table | Chart | Video | Audio | Diagram; interface Group { type: "group"; left: number; top: number; width: number; height: number; rotate: number; elements: BaseElement[]; } type Element = BaseElement | Group; interface SlideColorFill { type: "color"; value: string; } interface SlideImageFill { type: "image"; value: { picBase64: string; opacity: number; }; } interface SlideGradientFill { type: "gradient"; value: { rot: number; colors: { pos: string; color: string; }[]; }; } type SlideFill = SlideColorFill | SlideImageFill | SlideGradientFill; interface Slide { fill: SlideFill; elements: Element[]; remark?: string; } interface Options { slideFactor?: number; fontsizeFactor?: number; } declare const parse: ( file: ArrayBuffer, options?: Options ) => Promise<{ slides: Slide[]; size: { width: number; height: number; }; }>; export { type Audio, type BaseElement, type Chart, type ChartItem, type ChartType, type ChartValue, type ChartXLabel, type CommonChart, type Diagram, type Element, type Group, type Image, type Options, type ScatterChart, type ScatterChartData, type Shadow, type Shape, type Slide, type SlideColorFill, type SlideFill, type SlideGradientFill, type SlideImageFill, type Table, type TableCell, type Text, type Video, parse };