/** * Screenshot Utilities * * Shared canvas and screenshot helper functions used by both * GlobalDevBar and SweetlinkBridge for capturing and processing screenshots. */ /** Default screenshot scale factor */ export declare const DEFAULT_SCREENSHOT_SCALE = 0.25; /** Default JPEG quality */ export declare const DEFAULT_SCREENSHOT_QUALITY = 0.7; /** * Options for canvas scaling */ export interface ScaleCanvasOptions { scale: number; smoothing?: boolean; smoothingQuality?: ImageSmoothingQuality; } /** * Scale a canvas down to a smaller size * * @param originalCanvas - The source canvas to scale * @param options - Scaling options * @returns A new scaled canvas */ export declare function scaleCanvas(originalCanvas: HTMLCanvasElement, options: ScaleCanvasOptions): HTMLCanvasElement; /** * Options for converting canvas to data URL */ export interface ToDataUrlOptions { format?: 'jpeg' | 'png'; quality?: number; } /** * Convert a canvas to a data URL * * @param canvas - The canvas to convert * @param options - Conversion options * @returns Data URL string */ export declare function canvasToDataUrl(canvas: HTMLCanvasElement, options?: ToDataUrlOptions): string; /** * Extract base64 data from a data URL * * @param dataUrl - The data URL to extract from * @returns Base64 encoded string without the prefix */ export declare function extractBase64FromDataUrl(dataUrl: string): string; /** * Get the media type from a data URL * * @param dataUrl - The data URL to check * @returns The media type ('image/png' or 'image/jpeg') */ export declare function getMediaTypeFromDataUrl(dataUrl: string): 'image/png' | 'image/jpeg'; export interface PrepareForCaptureOptions { /** Temporarily hide devbar UI chrome from the captured image. */ hideDevbar?: boolean; } /** * Temporarily hide DevBar chrome for screenshot capture. * * @returns Cleanup function to restore state */ export declare function hideDevbarForCapture(): () => void; /** * Prepare the page for screenshot capture. * Blurs active element, adds capturing class to body, and optionally hides DevBar chrome. * * @returns Cleanup function to restore state */ export declare function prepareForCapture(options?: PrepareForCaptureOptions): () => void; /** * Wait for a specified delay (useful for letting UI settle) * * @param ms - Milliseconds to wait */ export declare function delay(ms: number): Promise; /** * Copy a canvas to the clipboard as a PNG image * * @param canvas - The canvas to copy * @returns Promise that resolves when copy is complete */ export declare function copyCanvasToClipboard(canvas: HTMLCanvasElement): Promise; //# sourceMappingURL=screenshotUtils.d.ts.map