import { Node } from '../core/node.js'; import { SerializedTerminal } from '../core/terminal.js'; import { UINode, UINodeOptions, UINodeStyle } from './ui-node.js'; export declare class Display extends UINode { style: DisplayStyle; displayConfigs: CustomOffCanvasConfig[]; constructor(_node: Node, options?: DisplayOptions); protected created(options: DisplayOptions): void; private customRender; paint(): void; paintLOD1(): void; offPaint(): void; reflow(): void; onPropChange(): void; } export declare enum CanvasType { OffscreenCanvas = "OffscreenCanvas", HTMLCanvasElement = "HTMLCanvasElement" } export interface CustomOffCanvasConfig { canvas: OffscreenCanvas | HTMLCanvasElement; context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D; rendererConfig: CustomRendererConfig; shouldRender: boolean; } export type CustomRenderer = (context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, width: number, height: number) => boolean; export interface CustomRendererConfig { auto?: boolean; clear?: boolean; canvasType?: CanvasType; renderer?: CustomRenderer; } export interface DisplayStyle extends UINodeStyle { borderColor?: string; backgroundColor?: string; } export interface DisplayOptions extends UINodeOptions { height?: number; customRenderers?: CustomRendererConfig[]; clear?: boolean | SerializedTerminal; }