export type Subscriber = (e: T) => any; type SubscriptionRecord = Record>; type MultiSubscriptor = (e: K, key: string, cb: Subscriber ? ET : never>) => () => void; declare class Subscription { subscribers: Record>; private _history; get history(): readonly T[]; subscribe(key: K, cb: Subscriber): () => void; getSubscriber(key: K): Record>[K]; removerSubscriber(key: K): void; getSubscribersKeys(): string[]; invoke(e: T): void; removeAllListeners(): void; static createSubscriptor(events: SR): MultiSubscriptor; } declare function useSubscriptionHistory(subscription: Subscription): readonly T[]; export { Subscription, useSubscriptionHistory }; //# sourceMappingURL=Subscription.d.ts.map