import { Destroyable, IDestroyable } from 'destroyable'; import { Subject } from 'rxjs/internal/Subject'; import { Promisable } from 'type-fest'; import { IElement } from '../interfaces/IElement'; import { IListener } from '../interfaces/IListener'; import { ITouchController } from '../interfaces/ITouchController'; import { EventManager } from '../utils/EventManager'; import { WithOptional } from '../utils/WithOptional'; import { Touch } from './Touch'; import { TouchFrame } from './TouchFrame'; interface ITouchControllerOptions { elements: IElement[]; anchorElement: HTMLElement; setListeners: boolean; } declare const touchControllerOptionsDefault: { setListeners: boolean; }; export declare class TouchController extends Destroyable implements ITouchController, IDestroyable { static fromCanvas(canvas: HTMLCanvasElement): TouchController; readonly elements: IElement[]; readonly anchorElement: HTMLElement; readonly touches: Subject; readonly hoveredFrames: Subject; readonly eventManager: EventManager; private listeners; constructor(options: WithOptional); addListener(listener: IListener): void; addElement(element: IElement): void; addInitialElement(element: IElement, newElementCreator: (event: Event) => Promisable): void; private callListenerOnElement; destroy(): Promise; } export {};