/** * Frame processing - extracts frames from video and blends them. * * @module lib/frameProcessor * @internal */ import type { NormalizedGlowOptions } from '../types'; /** * Draws a video frame and blends it with the previous one for smooth transitions. * * @param video - Video element to sample. * @param tempCtx - Temp canvas for extraction. * @param mainCtx - Main canvas for glow. * @param canvasWidth - Canvas width. * @param canvasHeight - Canvas height. * @param options - Options with blend weights. * @param lastImage - Previous frame data, or null. * @returns New frame data for next blend. * * @internal */ export declare function drawAndBlendFrame(video: HTMLVideoElement, tempCtx: CanvasRenderingContext2D, mainCtx: CanvasRenderingContext2D, canvasWidth: number, canvasHeight: number, options: NormalizedGlowOptions, lastImage: ImageData | null): ImageData | null; /** * Blends two frames using weighted pixel averaging (modifies oldFrame in place). * * @param oldFrame - Previous frame (gets modified). * @param newFrame - New frame. * @param blendOld - Weight for old frame (0-1). * @param blendNew - Weight for new frame (0-1). * @returns Blended frame (same ref as oldFrame). * * @internal */ export declare function blendFrames(oldFrame: ImageData, newFrame: ImageData, blendOld: number, blendNew: number): ImageData;