import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedEventNode } from './_Base';
import { EventContext } from '../../../core/event/EventContextType';
declare class DebounceEventParamsConfig extends NodeParamsConfig {
    /** @param max wait time between each event, in milliseconds */
    maxwait: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param defines if event is dispatched on the leading edge of the timeout */
    leading: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param defines if event is trailing on the leading edge of the timeout */
    trailing: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class DebounceEventNode extends TypedEventNode<DebounceEventParamsConfig> {
    paramsConfig: DebounceEventParamsConfig;
    static type(): string;
    static readonly OUTPUT_NAME = "output";
    initializeNode(): void;
    private _debouncedFunc;
    private _lastEventContextReceived;
    processEvent(eventContext: EventContext<Event>): void;
    private _buildDebouncedFunc;
    private _resetDebouncedFunc;
    static PARAM_CALLBACK_resetDebouncedFunc(node: DebounceEventNode): void;
}
export {};
