export interface Subject { emit(event: TEvent): void; subscribe(listener: SubjectListener): Subscription; } export type SubjectListener = (event: TEvent) => void; export interface Subscription { unsubscribe(): void; } export declare function buildSubject(): Subject;