import { MessageService, NotificationComponent, NotificationService } from '@alauda/ui';
import { ComponentRef } from '@angular/core';
import { Subject } from 'rxjs';
import { K8sApiService } from '../../../api/k8s-api.service';
import { AuthorizationStateService } from '../../../authorization/state.service';
import { K8sUtilService } from '../../../core/public-api';
import { K8SResourceList } from '../../../k8s-resource-list/k8s-resource-list';
import { Message } from './utils';
import * as i0 from "@angular/core";
export declare class NotifyService {
    private readonly k8sApi;
    private readonly auth;
    private readonly k8sUtil;
    private readonly notification;
    private readonly messages;
    private userName;
    triggerNotify$: Subject<Message>;
    pushEnabled: boolean;
    auiNotificationList: Array<ComponentRef<NotificationComponent>>;
    windowUnload: boolean;
    onDestroy$: Subject<void>;
    userName$: import("rxjs").Observable<string>;
    list: K8SResourceList<Message, {}, import("@alauda-fe/common").ListParams>;
    constructor(k8sApi: K8sApiService, auth: AuthorizationStateService, k8sUtil: K8sUtilService, notification: NotificationService, messages: MessageService);
    watchNotify(): void;
    getNotifyList(): import("rxjs").Observable<Message[]>;
    messageSort(data: Message[], type?: 'asc' | 'desc'): Message[];
    private fetcher;
    private handleNotify;
    private cacheNotifyInfo;
    private dispatchNotify;
    private expired;
    getCacheLocalValue(type: string): string;
    addCacheLocalValue(type: string, value: string | boolean): void;
    private notifyMessage;
    /**
     * 关闭通知: 手动关闭存储 添加不再展示状态记录
     * 关闭页面、删除消息 不记录
     */
    private closedNotifyCallback;
    /**
     * 记录 不再展示状态 存储在 local storage
     */
    private addNotFixed;
    /**
     * 触发删除消息
     * - 删除 local storage NOT_FIXED 存储的消息
     * - 手动触发关闭常驻通知弹框
     */
    private removePush;
    private removeMessage;
    private manualCloseNotify;
    private removeNotificationList;
    private getMessageType;
    private settingDefaultPushStatus;
    closeAllNotification(): void;
    destroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotifyService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NotifyService>;
}
