/// import { Anime4KPipeline } from '../pipelines'; export interface RendererOptions { video: HTMLVideoElement; canvas: HTMLCanvasElement; pipelineBuilder: (device: GPUDevice, inputTexture: GPUTexture) => [ ...Anime4KPipeline[], Anime4KPipeline ]; } /** * Renders a video using a custom pipeline. * * @param {RendererOptions} options - The options for rendering. * @param {HTMLVideoElement} options.video - The video element to render. * @param {HTMLCanvasElement} options.canvas - The canvas element to render to. * @param {Function} options.pipelineBuilder - A function that builds the custom pipeline. * It takes a GPUDevice and a GPUTexture as parameters * and returns an array of Anime4KPipeline instances. * The pipelines returned will be executed in order in the render loop. * The output texture of the last pipeline will be rendered to the canvas. * * @returns {Promise} A promise that resolves when redering is binded. * * @throws {Error} Will throw an error if WebGPU is not supported. */ export declare function render(options: RendererOptions): Promise;