import { OnDestroy } from "@angular/core";
import { Observable, ReplaySubject, Subject, Subscription } from "rxjs";
import { IEventDefinition } from "./public-api";
import * as i0 from "@angular/core";
/**
 * @ignore
 */
export declare class EventBus<T> implements OnDestroy {
    streamAdded: ReplaySubject<string>;
    private streams;
    getStream<U = T>(event: IEventDefinition<U>): Subject<U>;
    ngOnDestroy(): void;
    subscribe(event: IEventDefinition<T>, next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
    subscribeUntil(event: IEventDefinition<T>, until: Observable<any>, next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
    next(event: IEventDefinition<T>, value: T): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EventBus<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EventBus<any>>;
}
