import type { Warpvas } from '../warpvas.class';
/**
 * Create canvas warping renderer with 2D context
 *
 * @param warpvas - Warpvas instance with deformation data
 * @param source - Source image canvas to be warped
 * @param destination - Target canvas element (creates new if null)
 * @param options - Rendering parameters { x, y, width, height, sourceScale?, destinationScale? }
 * @param utils - Required utility functions for coordinate calculations
 *
 * @returns Rendered canvas element with warped content
 *
 * @remarks
 * - Implements floating-point pixel anti-aliasing
 * - Uses vertex expansion to prevent triangle seams
 * - Supports OffscreenCanvas for worker thread rendering
 */
export declare const createWarpedCanvas: <Canvas extends HTMLCanvasElement | OffscreenCanvas>(warpvas: Warpvas, source: HTMLCanvasElement, destination: Canvas, options: {
    x: number;
    y: number;
    width: number;
    height: number;
    sourceScale?: number;
    destinationScale?: number;
}, utils: Record<string, (...args: any) => any>) => Canvas;
/**
 * Create warped canvas instance using Canvas2D API
 *
 * @param warpvas - Warpvas instance containing deformation configuration
 * @param source - Source image canvas element
 * @param destination - Target canvas (creates new canvas if null)
 * @param options - Rendering parameters {
 *   x: Render starting X coordinate,
 *   y: Render starting Y coordinate,
 *   width: Output width,
 *   height: Output height,
 *   sourceScale?: Image scaling factor (default: 1),
 *   destinationScale?: Canvas scaling factor (default: 1)
 * }
 *
 * @returns Created warped canvas instance using Canvas2D
 */
declare const createWarpedCanvas2D: (warpvas: Warpvas, source: HTMLCanvasElement, destination: HTMLCanvasElement | null, options: {
    x: number;
    y: number;
    width: number;
    height: number;
    sourceScale?: number;
    destinationScale?: number;
}) => HTMLCanvasElement;
export default createWarpedCanvas2D;
