import * as _angular_core from '@angular/core';
import { OnDestroy } from '@angular/core';
/**
* Directive to detect single-click and double-click events on the host element.
* Supports both desktop (click-based detection) and mobile (touchend) events.
* Prevents native click event propagation and emits separate single-click and double-click events.
* Can be disabled to allow native DOM behavior (click and dblclick events).
*
* Usage:
*
*/
declare class AXDoubleClickDirective implements OnDestroy {
private elementRef;
/**
* Input to configure the duration in milliseconds for detecting double-clicks.
* Defaults to 250ms.
* Two clicks/taps within this duration are considered a double-click.
*/
duration: _angular_core.InputSignal;
/**
* Input to disable the directive's custom click handling.
* When true, native click and dblclick events will fire normally (DOM default behavior).
* When false (default), the directive prevents default and emits custom single/double-click events.
* Defaults to false.
*/
disabled: _angular_core.InputSignal;
/**
* Output event emitted when a single-click is detected.
* Emits after the configured duration milliseconds if no second click occurs.
* Emits the MouseEvent.
*/
onClick: _angular_core.OutputEmitterRef;
/**
* Output event emitted when a double-click is detected.
* Emits when two clicks occur within the configured duration milliseconds.
* Emits the Event (MouseEvent for desktop, TouchEvent for mobile).
*/
onDblClick: _angular_core.OutputEmitterRef;
private lastClick;
private lastTap;
private clickTimeout;
private pendingClickEvent;
/**
* Handles click events and detects both single-clicks and double-clicks.
* Prevents native click propagation and emits appropriate events.
* When disabled is true, emits click immediately, still detects double-clicks, and allows native DOM behavior (no preventDefault).
*/
handleClick(event: MouseEvent): void;
/**
* Handles touchend events (mobile) to detect double-tap.
* When disabled is true, allows native touch behavior.
*/
onTouchEnd(event: TouchEvent): void;
ngOnDestroy(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration;
}
export { AXDoubleClickDirective };