export interface BoundingBox { x: number; y: number; width: number; height: number; } /** Capability evidence the renderer consumes for emission. */ export interface RenderCapabilities { syncOutput: boolean; pointerShape: boolean; } /** Pointer passed to reduce(): absent, up, or down. */ export declare const POINTER_ABSENT = 0; export declare const POINTER_UP = 1; export declare const POINTER_DOWN = 2; export interface Native { memory: WebAssembly.Memory; statePtr: number; opsBuf: number; /** * Re-initialize renderer state for new dimensions in place * (renderer-spec 7.7). Reuses this instance and memory; statePtr and * opsBuf may change. Growing memory detaches prior buffer views. */ update(w: number, h: number): void; /** * Push capability evidence into the renderer. The renderer holds it across * frames; it is re-pushed internally after any re-init so it survives * resize updates. Returns true when withdrawing pointerShape leaves a * non-default shape on screen that the caller must reset. */ setCapabilities(caps: RenderCapabilities): boolean; reduce(ct: number, buf: number, len: number, mode: number, row: number, deltaTime: number, px: number, py: number, pointer: number): void; output(ct: number): number; length(ct: number): number; getPointerOverIds(): string[]; getElementBounds(id: string): BoundingBox | undefined; animating(ct: number): number; errorCount(ct: number): number; errorType(ct: number, index: number): number; errorMessage(ct: number, index: number): string; } export declare function createTermNative(w: number, h: number, caps: RenderCapabilities): Promise;