import { ISubscription } from '../subscription.type';
import { ISubscriptionManager, ISubscriptionManagerSetMode } from './subscription-manager.type';
export declare class SubscriptionManager implements ISubscriptionManager {
    protected _subscriptionsMap: Map<string, ISubscription<any>>;
    constructor();
    get size(): number;
    has(key: string): boolean;
    get<GSubscription extends ISubscription<any>>(key: string): GSubscription | undefined;
    get<GSubscription extends ISubscription<any>>(key: string, mode: 'throw'): GSubscription | never;
    set<GSubscription extends ISubscription<any>>(key: string, subscription: GSubscription, mode?: ISubscriptionManagerSetMode): GSubscription;
    delete(key: string): void;
    clear(): void;
    activateAll(): void;
    deactivateAll(): void;
    [Symbol.iterator](): IterableIterator<[string, ISubscription<any>]>;
    entries(): IterableIterator<[string, ISubscription<any>]>;
    keys(): IterableIterator<string>;
    values(): IterableIterator<ISubscription<any>>;
}
