import type { AnyStructure } from '../structure'; import { type Camera, type Scene, type WebGPURenderer } from 'three/webgpu'; export declare const renderer_registry: WeakMap; export declare const scene_registry: WeakMap; export declare const dpi_to_scale: (png_dpi: number) => number; export declare function canvas_to_png_blob(canvas: HTMLCanvasElement, png_dpi?: number, scene?: Scene | null, camera?: Camera | null): Promise; export declare function export_canvas_as_png(canvas: HTMLCanvasElement | null, structure_or_filename: AnyStructure | string | undefined, png_dpi?: number, scene?: Scene | null, camera?: Camera | null): void; interface SvgExportOptions { viewbox_padding?: number | `stroke`; } export declare function svg_to_svg_string(svg_element: SVGElement, inline_styles?: readonly string[], options?: SvgExportOptions): string; export declare function export_svg_as_svg(svg_element: SVGElement | null, filename: string, inline_styles?: readonly string[], options?: SvgExportOptions): void; export declare function svg_to_png_blob(svg_element: SVGElement, png_dpi?: number, inline_styles?: readonly string[], options?: SvgExportOptions): Promise; export declare function export_svg_as_png(svg_element: SVGElement | null, filename: string, png_dpi?: number, inline_styles?: readonly string[], options?: SvgExportOptions): void; export declare function observe_canvas_presence(wrapper: HTMLElement | undefined, set: (has_canvas: boolean) => void): (() => void) | undefined; export declare const estimate_video_bitrate: (pixel_count: number, fps: number) => number; export declare function get_ffmpeg_conversion_command(input_filename: string): string; export declare function export_trajectory_video(canvas: HTMLCanvasElement | null, filename: string, options?: { fps?: number; total_frames?: number; on_progress?: (progress: number) => void; on_step?: (step_idx: number) => void | Promise; resolution_multiplier?: number; }): Promise; export {};