import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * @description Diretiva que detecta o gesto de pressão longa (long press) em um elemento.
 * Emite o evento `sLongPress` após o tempo configurado em `sLongPressDelay` sem que o
 * botão do mouse ou o toque seja liberado.
 *
 * @example
 * ```html
 * <button [sLongPressDelay]="800" (sLongPress)="onLongPress($event)">Segurar</button>
 * ```
 *
 * @category Inputs
 */
export declare class LongPressDirective implements OnInit, OnDestroy {
    /** @description Tempo em milissegundos para disparar o long press. @default 500 */
    sLongPressDelay: number;
    /** @description Emitido quando o elemento é pressionado por mais de `sLongPressDelay` ms. */
    sLongPress: EventEmitter<MouseEvent>;
    mouseUp: Subject<MouseEvent>;
    mouseDown: Subject<MouseEvent>;
    ngUnsubscribe: Subject<void>;
    onMouseUp(event: MouseEvent): void;
    onMouseDown(event: MouseEvent): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LongPressDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LongPressDirective, "[sLongPress]", never, { "sLongPressDelay": { "alias": "sLongPressDelay"; "required": false; }; }, { "sLongPress": "sLongPress"; }, never, never, false, never>;
}
