import type { Gradient, ImageElementClip, ImageElementFilters, LineStyleType, PPTElementOutline, PPTElementShadow, PPTImageElement, PPTLineElement, SlideBackgroundImageSize } from '../types/slides'; /** Line elements store stroke thickness in `width` (not a bounding-box width). */ export declare const lineStrokeWidth: (element: Pick) => number; export declare const shadowPaint: (shadow?: PPTElementShadow | null) => { shadowColor?: undefined; shadowBlur?: undefined; shadowOffsetX?: undefined; shadowOffsetY?: undefined; shadowOpacity?: undefined; } | { shadowColor: string; shadowBlur: number; shadowOffsetX: number; shadowOffsetY: number; shadowOpacity: number; }; export declare const outlineDashArray: (style: LineStyleType | undefined, width: number) => number[] | undefined; export declare const lineDashArray: (style: LineStyleType, strokeWidth: number) => number[] | undefined; export declare const outlineStrokePaint: (outline?: PPTElementOutline) => { strokeEnabled: false; stroke?: undefined; strokeWidth?: undefined; strokeScaleEnabled?: undefined; lineCap?: undefined; miterLimit?: undefined; dash?: undefined; dashEnabled?: undefined; } | { stroke: string; strokeWidth: number; strokeScaleEnabled: boolean; lineCap: 'butt'; miterLimit: number; dash: number[]; dashEnabled: boolean; strokeEnabled: true; }; export declare const imageOpacity: (filters?: ImageElementFilters) => number; export declare const imageCropRect: (clip: ImageElementClip | undefined, imgW: number, imgH: number) => { x: number; y: number; width: number; height: number; } | undefined; export declare const imageCornerRadius: (element: PPTImageElement) => number; export declare const imageClipKind: (element: PPTImageElement) => 'rect' | 'ellipse' | 'polygon'; type PathCtx = { beginPath: () => void; moveTo: (x: number, y: number) => void; lineTo: (x: number, y: number) => void; closePath: () => void; rect: (x: number, y: number, width: number, height: number) => void; roundRect: (x: number, y: number, width: number, height: number, radii: number) => void; ellipse: (x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number) => void; }; export declare const drawSvgPolyline: (ctx: Pick, d: string) => void; export declare const drawImageClip: (ctx: PathCtx, element: PPTImageElement) => void; export declare const imageClipPathData: (element: PPTImageElement) => string | undefined; export declare const linearGradientPaint: (width: number, height: number, gradient: Gradient) => { fillLinearGradientStartPoint: { x: number; y: number; }; fillLinearGradientEndPoint: { x: number; y: number; }; fillLinearGradientColorStops: (string | number)[]; }; export declare const radialGradientPaint: (width: number, height: number, gradient: Gradient, origin?: 'center' | 'css') => { fillRadialGradientStartPoint: { x: number; y: number; }; fillRadialGradientStartRadius: number; fillRadialGradientEndPoint: { x: number; y: number; }; fillRadialGradientEndRadius: number; fillRadialGradientColorStops: (string | number)[]; }; export declare const shapeFillPaint: (width: number, height: number, fill: string, gradient?: Gradient) => { fillLinearGradientStartPoint: { x: number; y: number; }; fillLinearGradientEndPoint: { x: number; y: number; }; fillLinearGradientColorStops: (string | number)[]; } | { fillRadialGradientStartPoint: { x: number; y: number; }; fillRadialGradientStartRadius: number; fillRadialGradientEndPoint: { x: number; y: number; }; fillRadialGradientEndRadius: number; fillRadialGradientColorStops: (string | number)[]; } | { fillEnabled: false; fill?: undefined; } | { fillEnabled?: undefined; fill: string; }; export declare const patternCoverPaint: (imgW: number, imgH: number, boxW: number, boxH: number) => { fillPatternScaleX: number; fillPatternScaleY: number; fillPatternX: number; fillPatternY: number; fillPatternRepeat: string; }; export declare const fitRect: (imgW: number, imgH: number, boxW: number, boxH: number, mode: Exclude) => { x: number; y: number; width: number; height: number; }; export declare const linePolylinePoints: (element: PPTLineElement) => number[] | null; export declare const canvasFromBitmap: (bitmap: ImageBitmap) => HTMLCanvasElement; /** Konva's config types list HTMLImageElement; runtime also accepts canvas. */ export declare const patternImageSource: (bitmap: ImageBitmap) => HTMLImageElement; export {};