import type { Renderer } from './types'; export type RendererKind = 'css' | 'webgl2'; /** * How the consumer chooses a renderer: * - `'auto'` (default): prefer the GPU path (WebGL2), else CSS. * - a single kind: force it (`'webgl2'` throws if the device has no WebGL2). * - an ordered array: try each in turn, first viable wins. * - a `Renderer` instance: use it as-is (custom implementation, §6.1/§11). */ export type RendererOption = 'auto' | RendererKind | RendererKind[] | Renderer; export interface Capabilities { /** WebGL2 available — the GPU renderer's only backend. */ gpu: boolean; } /** Detect WebGL2 support — the GPU renderer's only backend (no WebGL1, no WebGPU). */ export declare function detectCapabilities(): Capabilities; /** * Resolve the `renderer` option to a mounted renderer instance, lazy-loading its * chunk. Throws an agent-actionable error if nothing viable can be loaded. */ export declare function selectRenderer(option?: RendererOption, caps?: Capabilities): Promise;