import { BaseParamType } from '../_Base';
import { ParamEvent } from '../../poly/ParamEvent';
import { PolyDictionary } from '../../../types/GlobalTypes';
export declare class EmitController {
    protected param: BaseParamType;
    _blocked_emit: boolean;
    _blocked_parent_emit: boolean;
    _count_by_event_name: PolyDictionary<number>;
    constructor(param: BaseParamType);
    emitAllowed(): boolean;
    blockEmit(): boolean;
    unblockEmit(): boolean;
    blockParentEmit(): boolean;
    unblockParentEmit(): boolean;
    incrementCount(event_name: ParamEvent): void;
    eventsCount(event_name: ParamEvent): number;
    emit(event: ParamEvent): void;
}
