import { EventEmitter, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import { TableColumnInternal } from '../types/internal.types';
import * as i0 from "@angular/core";
export declare class LongPressDirective implements OnDestroy {
    pressEnabled: boolean;
    pressModel: TableColumnInternal;
    duration: number;
    longPressStart: EventEmitter<{
        event: MouseEvent | TouchEvent;
        model: TableColumnInternal;
    }>;
    longPressEnd: EventEmitter<{
        model: TableColumnInternal;
    }>;
    pressing: import("@angular/core").WritableSignal<boolean>;
    isLongPressing: import("@angular/core").WritableSignal<boolean>;
    timeout: any;
    subscription?: Subscription;
    onMouseDown(event: MouseEvent | TouchEvent): void;
    endPress(): 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"; "longPressEnd": "longPressEnd"; }, never, never, true, never>;
    static ngAcceptInputType_pressEnabled: unknown;
    static ngAcceptInputType_duration: unknown;
}
