import { EventEmitter, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import { TableColumn } from '../types/table-column.type';
import * as i0 from "@angular/core";
export declare class LongPressDirective implements OnDestroy {
    pressEnabled: boolean;
    pressModel: TableColumn;
    duration: number;
    longPressStart: EventEmitter<{
        event: MouseEvent;
        model: TableColumn;
    }>;
    longPressing: EventEmitter<{
        event: MouseEvent;
        model: TableColumn;
    }>;
    longPressEnd: EventEmitter<{
        model: TableColumn;
    }>;
    pressing: boolean;
    isLongPressing: boolean;
    timeout: any;
    mouseX: number;
    mouseY: number;
    subscription: Subscription;
    get press(): boolean;
    get isLongPress(): boolean;
    onMouseDown(event: MouseEvent): void;
    onMouseMove(event: MouseEvent): void;
    loop(event: MouseEvent): void;
    endPress(): void;
    onMouseup(): void;
    ngOnDestroy(): void;
    private _destroySubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<LongPressDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LongPressDirective, "[long-press]", never, { "pressEnabled": { "alias": "pressEnabled"; "required": false; }; "pressModel": { "alias": "pressModel"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; }, { "longPressStart": "longPressStart"; "longPressing": "longPressing"; "longPressEnd": "longPressEnd"; }, never, never, true, never>;
    static ngAcceptInputType_pressEnabled: unknown;
    static ngAcceptInputType_duration: unknown;
}
