import { Destroyable, IDestroyable } from 'destroyable'; import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject'; import { Subject } from 'rxjs/internal/Subject'; import { IElement } from '../interfaces/IElement'; import { WithOptional } from '../utils/WithOptional'; import { TouchFrame } from './TouchFrame'; interface ITouchOptions { type: 'TOUCH' | 'MOUSE'; anchorElement: IElement; buttonIdentifier?: string | number; firstFrame: TouchFrame; } declare const touchOptionsDefault: {}; export declare class Touch extends Destroyable implements IDestroyable { readonly type: 'TOUCH' | 'MOUSE'; readonly anchorElement: IElement; readonly buttonIdentifier?: string | number; readonly id: number; readonly uuid: string; readonly frames: BehaviorSubject; readonly firstFrame: TouchFrame; /** * * @param anchorElement Positions of touch are relative to anchorElement */ constructor(options: WithOptional); frameTuples({ itemsPerTuple, startImmediately }: ITouchFrameTuplingOptions): Subject; toString(): string; destroy(): Promise; } interface ITouchFrameTuplingOptions { itemsPerTuple: number; startImmediately?: boolean; } export {};