import { Realtime } from '@c8y/client';
import { Observable } from 'rxjs';
import { RealtimeMessage } from './realtime.model';
import * as i0 from "@angular/core";
/**
 * Service (providedIn root) that ensures to only create a single realtime subscription for each channel
 */
export declare class RealtimeSubjectService {
    protected realtime: Realtime;
    reconnect$: Observable<void>;
    connectionStatus$: Observable<'connected' | 'disconnected'>;
    private subjects$;
    constructor(realtime: Realtime);
    getObservableForChannel<T>(channel: string): Observable<RealtimeMessage<T>>;
    protected createObservableForChannel<T>(channel: string, realtime: Realtime): Observable<RealtimeMessage<T>>;
    protected createObservableForReconnect(): Observable<void>;
    protected createObservableForConnectionStatus(): Observable<"connected" | "disconnected">;
    static ɵfac: i0.ɵɵFactoryDeclaration<RealtimeSubjectService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RealtimeSubjectService>;
}
//# sourceMappingURL=realtime-subject.service.d.ts.map