/** * Enums */ export declare enum DragDirections { x = "x", y = "y", both = "both" } /** * Types */ declare type Directions = keyof typeof DragDirections; /** * Interfaces */ interface ILimit { x?: { min?: number; max?: number; }; y?: { min?: number; max?: number; }; } interface ICenter { x?: number; y?: number; } interface IOptions { target: HTMLElement; trigger?: HTMLElement; useTransform?: boolean; direction?: Directions; limit?: ILimit; snapOnMouseDown?: boolean; center?: ICenter; } /** * @Class BcmDragger * @desc - */ export declare class ElementDragger { private animTimeout; private target; private trigger; private container; private useTransform; private snapOnMouseDown; private direction; private limit; private center; private drag; private offset; private events; active: boolean; anim: boolean; busy: boolean; constructor({ target, trigger, limit, center, direction, snapOnMouseDown, useTransform }: IOptions); /** * @desc */ attachEvents(): void; /** * @desc * @param element * @param property */ computedStyle(element: HTMLElement, property: string): string; /** * @desc * - */ findRelativeContainer(): any; /** * @desc * @param event */ windowMove(event: MouseEvent): void; /** * @desc */ windowUp(): void; /** * @desc * @param event */ triggerDown(event: MouseEvent): void; /** * @desc */ move(triggerDrag?: boolean): void; /** * @desc * - */ calculateOffset(): { left: any; top: any; }; /** * @desc */ getCurrentPosition(): { x: number; y: number; }; /** * @desc * @param x * @param y */ setPosition({ x, y, anim }: { x?: number; y?: number; anim?: boolean; }): void; /** * @desc */ applyTransition(): void; /** * @desc */ removeTransition(): void; /** * @desc * @returns */ getOffset(): { left: number; top: number; }; /** * @desc * @param event * @param fn */ on(event: string, fn: Function): void; /** * @desc * @param event */ triggerEvent(event: string, ...params: any): void; } export {};