/** * Canvas utilities - creates and styles the glow canvas. * Like YouTube's web player glow (minus the thumbnail spritesheet service). * * @module lib/canvas * @internal */ import type { NormalizedGlowOptions } from '../types'; /** * Creates the main glow canvas. * * @param options - Glow styling options. * @returns Canvas ready to add to DOM. * * @internal */ export declare function createGlowCanvas(options: NormalizedGlowOptions): HTMLCanvasElement; /** * Creates a temp canvas for processing frames. * * @returns Temp canvas. * * @internal */ export declare function createTempCanvas(): HTMLCanvasElement; /** * Gets 2D context from canvas with optimized settings. * * @param canvas - Canvas to get context from. * @param canvasName - Name for error messages. * @returns The 2D context. * @throws {Error} If 2D context unavailable. * * @internal */ export declare function getCanvasContext(canvas: HTMLCanvasElement, canvasName?: string): CanvasRenderingContext2D; /** * Styles the canvas with blur, brightness, etc. * * @param canvas - Canvas to style. * @param options - Glow options. * * @internal */ export declare function applyCanvasStyles(canvas: HTMLCanvasElement, options: NormalizedGlowOptions): void; /** * Updates canvas filters when options change. * * @param canvas - Canvas to update. * @param options - New glow options. * * @internal */ export declare function updateCanvasFilterStyles(canvas: HTMLCanvasElement, options: NormalizedGlowOptions): void; /** * Makes sure parent has positioning (sets to relative if needed). * * @param parent - Parent element to fix. * * @internal */ export declare function ensureParentPositioning(parent: HTMLElement): void;