import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiResponseObjectListSafeguardAlertDTO } from '../model/apiResponseObjectListSafeguardAlertDTO';
import { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';
import { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';
import { NotificationListResponseNotificationResponse } from '../model/notificationListResponseNotificationResponse';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class NotificationsControllerService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    /**
     * @param consumes string[] mime-types
     * @return true: consumes contains 'multipart/form-data', false: otherwise
     */
    private canConsumeForm;
    /**
     *  Api to Get Notifications for a user
     *
     * @param pageNumber pageNumber
     * @param pageSize pageSize
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<NotificationListResponseNotificationResponse>;
    getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<NotificationListResponseNotificationResponse>>;
    getNotificationUsingGET(pageNumber?: number, pageSize?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<NotificationListResponseNotificationResponse>>;
    /**
     * API to fetch safeguard alerts for a strategy or campaign
     *
     * @param entityId entityId
     * @param entityType entityType
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getSafeguardAlertsByEntityUsingGET(entityId: number, entityType: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListSafeguardAlertDTO>;
    getSafeguardAlertsByEntityUsingGET(entityId: number, entityType: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListSafeguardAlertDTO>>;
    getSafeguardAlertsByEntityUsingGET(entityId: number, entityType: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListSafeguardAlertDTO>>;
    /**
     * Api to mark all notifications seen
     *
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    markAllSeenUsingPOST(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    /**
     *  Api to mark notifications seen
     *
     * @param commaSeparatedIds commaSeparatedIds
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    markSeenUsingPOST(commaSeparatedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     * API to make notifications as read : STATIC - mark as seen, ACTIONABLE - mark as resolved
     *
     * @param duration duration
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    readNotificationUsingPOST(duration: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     *  Api to resolve a notification
     *
     * @param id id
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    resolveNotificationUsingPOST(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationsControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NotificationsControllerService>;
}
