import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DebounceChangeDirective implements AfterViewInit, OnDestroy {
    private _el;
    private _ngZone;
    private _defaultDebounceTime;
    constructor(_el: ElementRef, _ngZone: NgZone, _defaultDebounceTime: number);
    /**
     * time to forward to the debounceTime pipe
     */
    debounceTime: any;
    /**
     * Any valid html event
     */
    debounceChangeEventType: string;
    /**
     * If true and the event has a 'target.value'
     * we listen for it and only emit if the value changed
     */
    emitOnlyOnChange: boolean;
    /**
     * Emits original event after debounce
     */
    jpDebounceChange: EventEmitter<string>;
    subscription: Subscription;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DebounceChangeDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DebounceChangeDirective, "[jpDebounceChange]", never, { "debounceTime": { "alias": "debounceTime"; "required": false; }; "debounceChangeEventType": { "alias": "debounceChangeEventType"; "required": false; }; "emitOnlyOnChange": { "alias": "emitOnlyOnChange"; "required": false; }; }, { "jpDebounceChange": "jpDebounceChange"; }, never, never, false, never>;
}
//# sourceMappingURL=debounce-change.directive.d.ts.map