import { TypedEventNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ParamOptions } from '../../params/utils/OptionsController';
import { EventData, EventType } from '../../../core/event/EventData';
import { EventContext } from '../../../core/event/EventContextType';
export declare const EVENT_PARAM_OPTIONS: ParamOptions;
export declare abstract class TypedInputEventNode<K extends BaseInputEventParamsConfig> extends TypedEventNode<K> {
    initializeBaseNode(): void;
    processEvent(eventContext: EventContext<Event>): void;
    static PARAM_CALLBACK_updateRegister(node: BaseInputEventNodeType): void;
    private _updateRegister;
    private _activeEventDatas;
    private _updateActiveEventDatas;
    protected abstract acceptedEventTypes(): Set<EventType>;
    activeEventDatas(): EventData[];
}
declare class BaseInputEventParamsConfig extends NodeParamsConfig {
    active: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param set which element triggers the event */
    element: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export type BaseInputEventNodeType = TypedInputEventNode<BaseInputEventParamsConfig>;
export declare class BaseInputEventNodeClass extends TypedInputEventNode<BaseInputEventParamsConfig> {
    acceptedEventTypes(): Set<EventType>;
}
export {};
