import { HttpClient } from '@angular/common/http';
import { BehaviorSubject } from 'rxjs';
import { Subscription } from 'rxjs';
import { BaseService } from '../base-service';
import { NotificationModel } from '../../models/NotificationModel';
import { LoggerService } from '../logger/logger.service';
import { NewsAndAnnouncementModel } from '../../models/NewsAndAnnouncementModel';
import { TrendModel } from '../../models/TrendModel';
import * as i0 from "@angular/core";
export declare class NotificationService extends BaseService {
    private logger;
    private opt;
    subscription: Subscription;
    notificationCount: BehaviorSubject<number>;
    notifications: BehaviorSubject<NotificationModel[]>;
    showNotificationLoader: boolean;
    constructor(httpClient: HttpClient, logger: LoggerService);
    getNotificationCount(): import("rxjs").Observable<number>;
    getNotifications(): import("rxjs").Observable<NotificationModel[]>;
    updateReadFlag(): Subscription;
    setServiceContext(): void;
    setServicePort(): void;
    setServiceProtocol(): void;
    setServiceHost(): void;
    getReadNotifications(): NotificationModel[];
    getReadNotificationCount(): number;
    getUnReadNotifications(): NotificationModel[];
    getUnreadNotificationCount(): number;
    markForUpdate(notificationId: any): void;
    markAsRead(notificationId: any): void;
    setupNotificationTimer(): void;
    removeNotificationTimer(): void;
    private loadNotificationCount;
    fetchNewsAnnouncementsInformation(): import("rxjs").Observable<NewsAndAnnouncementModel[]>;
    fetchTrends(): import("rxjs").Observable<TrendModel[]>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
}
//# sourceMappingURL=notification.service.d.ts.map