import { TransformMatrix } from '../../helpers.js'; import { ColorInput, GeometricBounds, Transform } from '../../types/index.js'; import { Spread } from '../Spread.js'; import { IDMLSpreadPackageContext } from '../SpreadPackage.js'; import { RectangleSprite } from './Rectangle.js'; import { OvalSprite } from './Oval.js'; import { PolygonSprite } from './Polygon.js'; import { GroupSprite } from './Group.js'; export type SpriteWithChildren = RectangleSprite | OvalSprite | PolygonSprite | GroupSprite; export type BlendingSetting = { opacity: number; }; export type DropShadowSetting = { mode: 'drop'; xOffset: number; yOffset: number; size: number; effectColorId: string; spread: number; }; export type TransparencySetting = { blendingSetting?: BlendingSetting; dropShadowSetting?: DropShadowSetting; }; export type DropShadowInput = { mode: 'drop'; xOffset: number; yOffset: number; size: number; effectColor: ColorInput; spread: number; }; export type SpriteOpts = { name?: string; appliedObjectStyleId?: string; itemTransform: TransformMatrix; storyTitle?: string; contentType?: string; visible?: boolean; horizontalLayoutConstraints?: HorizontalLayoutConstraints; verticalLayoutConstraints?: VerticalLayoutConstraints; fillColorId?: string; gradientStart?: [number, number]; gradientFillLength?: number; gradientFillAngle?: number; gradientStrokeStart?: [number, number]; gradientStrokeLength?: number; gradientStrokeAngle?: number; strokeColorId?: string; strokeWeight?: number; frameFittingOption?: FrameFittingOption; objectExportOption?: ObjectExportOption; textWrapPreference?: TextWrapPreference; inCopyExportOption?: InCopyExportOption; transparencySetting?: TransparencySetting; }; export type LayoutDimension = 'fixedDimension' | 'flexibleDimension'; export type HorizontalLayoutConstraints = [LayoutDimension, LayoutDimension, LayoutDimension]; export type VerticalLayoutConstraints = [LayoutDimension, LayoutDimension, LayoutDimension]; export type FrameFittingOption = { sourceElement: Element; }; export type ObjectExportOption = { sourceElement: Element; }; export type TextWrapPreference = { sourceElement: Element; }; export type InCopyExportOption = { sourceElement: Element; }; export declare abstract class Sprite { private id; private type; context: IDMLSpreadPackageContext; private name?; private appliedObjectStyleId?; private itemTransform; private storyTitle?; private contentType?; private visible?; private horizontalLayoutConstraints?; private verticalLayoutConstraints?; private fillColorId?; private gradientStart?; private gradientFillLength?; private gradientFillAngle?; private gradientStrokeStart?; private gradientStrokeLength?; private gradientStrokeAngle?; private strokeColorId?; private strokeWeight?; private frameFittingOption?; private objectExportOption?; private textWrapPreference?; private inCopyExportOption?; private transparencySetting?; constructor(id: string, type: string, opts: SpriteOpts, context: IDMLSpreadPackageContext); abstract getGeometricBounds(): GeometricBounds; get parentSpread(): Spread; getFillColor(): import("../Color.js").Color | undefined; getStrokeColor(): import("../Color.js").Color | undefined; getStrokeWeight(): number | undefined; setFillColor(color: ColorInput): void; setStrokeColor(color: ColorInput): void; setStrokeWeight(weight: number): void; getOpacity(): number; setOpacity(opacity: number): void; getDropShadow(): { mode: string; xOffset: number; yOffset: number; size: number; effectColor: import("../Color.js").Color; spread: number; } | undefined; setDropShadow(dropShadow: DropShadowInput): void; getVisible(): boolean | undefined; setVisible(visible: boolean): void; getTransform(origin: [number, number]): Transform; setTranform(transform: Transform, origin: [number, number]): void; setTransformFromMatrix(matrix: TransformMatrix): void; serializeTransparencySetting(): import("flat-svg").ElementNode | undefined; serializeSprite(): import("flat-svg").ElementNode; static parseElementOptions(element: Element, context: IDMLSpreadPackageContext): SpriteOpts & { id: string; }; static parseBlendingSetting(element: Element): { opacity: number; }; static parseDropShadowSetting(element: Element): { mode: "drop"; xOffset: number; yOffset: number; size: number; effectColorId: string; spread: number; }; static parseTransparencySetting(element: Element): { blendingSetting: { opacity: number; } | undefined; dropShadowSetting: { mode: "drop"; xOffset: number; yOffset: number; size: number; effectColorId: string; spread: number; } | undefined; }; } //# sourceMappingURL=Sprite.d.ts.map