import { LineCapStyle, LineJoinStyle } from "./operators"; import { PDFImage, BlendMode } from "./"; import PDFDocument from './PDFDocument'; import { Color } from "./colors"; import { PDFOperator } from "../core"; interface Iterator { [key: string]: any; } interface Base extends Iterator { transform?: PDFOperator[]; clipPath?: PDFOperator[]; clipRule?: 'nonzero' | 'evenodd'; opacity?: number; strokeOpacity?: number; mixBlendMode?: BlendMode; } export interface Shape extends Base { type: 'shape'; operators: PDFOperator[]; fill?: Color; fillRule?: 'nonzero' | 'evenodd'; stroke?: Color; strokeWidth?: number; strokeLineJoin?: LineJoinStyle; strokeMiterLimit?: number; strokeDashArray?: number[]; strokeDashOffset?: number; strokeLineCap?: LineCapStyle; } export interface Text extends Base { type: 'text'; value: string; } export interface Image extends Base { type: 'image'; image: PDFImage; width: number; height: number; } export interface Group extends Base { type: 'group'; fill?: Color; fillRule?: 'nonzero' | 'evenodd'; stroke?: Color; strokeWidth?: number; strokeLineJoin?: LineJoinStyle; strokeMiterLimit?: number; strokeDashArray?: number[]; strokeDashOffset?: number; strokeLineCap?: LineCapStyle; children: PDFGraphic[]; } declare type PDFGraphic = Shape | Text | Image | Group; export default PDFGraphic; export declare class PDFGraphicState { internalCSS: any; defs: any; constructor(); } /** * DO NOT DESTRUCTURE AND AVOID DECLARING NEW VARIABLES AS YOU'LL SLOW THINGS DOWN */ export declare const JSXParsers: { [type: string]: (props: any, doc: PDFDocument, state: PDFGraphicState) => Promise | PDFGraphic | Promise | void; }; //# sourceMappingURL=PDFGraphic.d.ts.map