import { Vector } from '../core/vector.js'; import { UIEvent, UINode, UINodeOptions, UINodeStyle } from './ui-node.js'; import { Node } from '../core/node.js'; import { ListNode } from '../utils/linked-list.js'; export declare class Envelope extends UINode { style: EnvelopeStyle; private _value; private pointHitColorPoint; offPointsCanvas: OffscreenCanvas | HTMLCanvasElement; private offPointsContext; get value(): Vector[]; set value(value: Vector[]); constructor(_node: Node, options?: EnvelopeOptions); protected created(options: EnvelopeOptions): void; handleEnvelopeChange(values: Vector[]): void; renderOffPoints(): void; paint(): void; paintLOD1(): void; offPaint(): void; reflow(): void; getHitPoint(realPosition: Vector): ListNode; movePoint(realPosition: Vector): void; newPoint(realPosition: Vector, width: number, height: number): void; deletePoint(): void; updateState(): void; onPropChange(_oldVal: any, newVal: any): void; private currHitPoint?; private lastDownPosition?; onDown(event: UIEvent): void; onUp(event: UIEvent): void; onDrag(event: UIEvent): void; onExit(event: UIEvent): void; } export interface EnvelopeStyle extends UINodeStyle { backgroundColor?: string; pointColor?: string; pointDiameter?: number; lineColor?: string; borderColor?: string; borderWidth?: number; } export interface EnvelopeOptions extends UINodeOptions { height?: number; values?: Vector[]; }