import { StateContext } from '@ngxs/store';
import { NotificationsUiActions } from './notifications.actions';
import { UiNotificationsService } from './notifications.service';
import { Observable } from 'rxjs';
import { NotificationData } from './notifications.model';
import * as i0 from "@angular/core";
export declare const NOTIFICATIONS_STATE_NAME = "notifications";
export interface NotificationsUiStateModel {
    lastUpdated: Date;
    items: NotificationData[];
    hasRuningRequest: boolean;
}
export declare const getInitialState: () => NotificationsUiStateModel;
export declare class NotificationsUiState {
    private apiService;
    constructor(apiService: UiNotificationsService);
    onLoadAll$(ctx: StateContext<NotificationsUiStateModel>, action: NotificationsUiActions.LoadAll): Observable<NotificationData[]>;
    onMarkAsViewed$(ctx: StateContext<NotificationsUiStateModel>, action: NotificationsUiActions.MarkAsViewed): Observable<void>;
    onArchive$(ctx: StateContext<NotificationsUiStateModel>, action: NotificationsUiActions.Archive): Observable<void>;
    onMoveToInbox$(ctx: StateContext<NotificationsUiStateModel>, action: NotificationsUiActions.MoveToInbox): Observable<void>;
    onDelete$(ctx: StateContext<NotificationsUiStateModel>, action: NotificationsUiActions.Delete): Observable<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationsUiState, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NotificationsUiState>;
}
