import { Flow, FlowOptions } from './core/flow'; import { Node } from './core/node'; import { Hooks } from './core/hooks'; import { Vector } from './core/vector'; import { DataFetchProvider, DataPersistenceProvider, Dimension, FlowConnectCacheKeys, FlowConnectCacheValues, FlowConnectRenderers, PluginMetadata, PluginType, Pointer } from './common/interfaces'; export declare class FlowConnect extends Hooks { private static audioWorkletsRegistered; static create(mount?: HTMLCanvasElement | HTMLDivElement): Promise; private static plugins; static register(metadata: PluginMetadata, executor: PluginType[K]): boolean; static getRegistered(type: K, name: string): PluginType[K]; readonly version: string | undefined; canvas: HTMLCanvasElement; private _context; get context(): CanvasRenderingContext2D; private _audioContext; get audioContext(): AudioContext; private caches; setCache(type: K, key: FlowConnectCacheKeys[K], cache: FlowConnectCacheValues[K]): void; getCache(type: K, key: FlowConnectCacheKeys[K]): FlowConnectCacheValues[K] | undefined; offCanvas: OffscreenCanvas | HTMLCanvasElement; private _offContext; get offContext(): OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D; offUICanvas: OffscreenCanvas | HTMLCanvasElement; private _offUIContext; get offUIContext(): OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D; offGroupCanvas: OffscreenCanvas | HTMLCanvasElement; private _offGroupContext; get offGroupContext(): OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D; canvasDimensions: Dimension; get cursor(): string; set cursor(cursor: string); state: FlowConnectState; private frameId; private rootFlow; private currFlow; flows: Flow[]; currHitNode?: Node; private prevHitNode?; private currHitGroup?; private currGroup?; private groupStartPoint; pointers: Pointer[]; private keymap; private touchControls; private genericInput; private parentResizeObserver; private bodyResizeObserver; minScale: number; maxScale: number; wheelScaleDelta: number; pinchScaleDelta: number; get scale(): number; disableScale: boolean; private _transform; get transform(): DOMMatrix; private inverseTransform; private identity; startTime: number; private timerId; get time(): number; private readonly renderers; registerRenderer(type: K, renderer: FlowConnectRenderers[K]): boolean; getRegisteredRenderer(type: K): FlowConnectRenderers[K]; private readonly defaultStyles; setDefaultStyle(type: "node" | "ui" | "connector" | "group" | "terminal", style: T): void; setDefaultStyle(type: "node" | "ui" | "connector" | "group" | "terminal", name: string, style: T): void; getDefaultStyle(type: "node" | "ui" | "connector" | "group" | "terminal", name?: string): T; private throttle; constructor(mount?: HTMLCanvasElement | HTMLDivElement); private registerChangeListeners; private deRegisterChangeListeners; private scrollListener; private registerObservers; private deRegisterObservers; private prepareCanvas; private setupHitCanvas; private attachStyles; private calcCanvasDimension; private canvasUtils; private handleKeyDown; private registerEvents; private deRegisterEvents; private addCurrAsNewGroup; private setGenericInput; setupAudioContext(): Promise; showGenericInput(position: Vector | DOMPoint, value: string, styles: Record, attributes: Record, callback: (value: string) => void): void; changeParent(newParent: HTMLElement): void; private updatePointer; private handleZoom; private handleGrouping; private handleConnection; private getRelativePosition; private updateTransform; translateBy(delta: Vector): void; scaleBy(scale: number, scaleOrigin: Vector): void; private addPointer; screenToReal(pos: Vector): Vector; private removePointer; private getHitNode; private getHitGroup; private clear; startGlobalTime(): void; private _startGlobalTime; stopGlobalTime(): void; private isRootFlowStopped; private _render; private addFlow; createFlow(options: FlowOptions): Flow; render(flow: Flow): void; top(): void; toJson(flow: Flow, persist?: DataPersistenceProvider): Promise; fromJson(json: string, receive?: DataFetchProvider): Promise; detach(): void; } export declare enum FlowConnectState { Stopped = "Stopped", Running = "Running" } export * from './common'; export * from './core'; export * from './ui'; export * from './utils'; export declare const StandardNodes: {};