import ActivatableBase from './activatableBase';
export declare class ActivatableCollection<TActivationTarget, TActivatable extends ActivatableBase<any>> {
    constructor(target?: TActivationTarget, isActivateOnAdd?: boolean);
    protected p_collectionName: string;
    protected p_map: Map<string, TActivatable>;
    target: TActivationTarget;
    protected p_target: TActivationTarget;
    isActivateOnAdd: boolean;
    protected p_isActivateOnAdd: boolean;
    add(value: TActivatable): void;
    get(name: string): TActivatable;
    remove(name: string): void;
    clear(): void;
    forEach(callback: (key: string, value: TActivatable) => boolean): void;
    activateAll(...args: any[]): void;
    deactivateAll(...args: any[]): void;
    log(): void;
}
export default ActivatableCollection;
