import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedEventNode } from './_Base';
import { EventContext } from '../../../core/event/EventContextType';
declare class ThrottleEventParamsConfig extends NodeParamsConfig {
    /** @param max time between each event */
    time: 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 ThrottleEventNode extends TypedEventNode<ThrottleEventParamsConfig> {
    paramsConfig: ThrottleEventParamsConfig;
    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: ThrottleEventNode): void;
}
export {};
