export interface IEventContainer<T extends (...args: any[]) => void> {
    addListener(listener: T): void;
    removeListener(listener: T): void;
}
export declare class EventContainer<T extends (...args: any[]) => void> {
    private readonly _listeners;
    constructor();
    addListener(listener: T): void;
    removeListener(listener: T): void;
    removeAllListeners(): void;
    invoke(...args: Parameters<T>): void;
    get length(): number;
}
