import { BaseAPI } from '../common/BaseAPI';
import Configuration from '../common/Configuration';
import WebhooksApi from './webhooks/WebhooksApi';
import StatesApi from './states/StatesApi';
import EmailsApi from './emails/EmailsApi';
import BitmovinResponse from '../models/BitmovinResponse';
import Notification from '../models/Notification';
import NotificationStateEntry from '../models/NotificationStateEntry';
import PaginationResponse from '../models/PaginationResponse';
import { NotificationListQueryParams, NotificationListQueryParamsBuilder } from './NotificationListQueryParams';
import { NotificationStateEntryListByNotificationIdQueryParams, NotificationStateEntryListByNotificationIdQueryParamsBuilder } from './NotificationStateEntryListByNotificationIdQueryParams';
/**
 * NotificationsApi - object-oriented interface
 * @export
 * @class NotificationsApi
 * @extends {BaseAPI}
 */
export default class NotificationsApi extends BaseAPI {
    webhooks: WebhooksApi;
    states: StatesApi;
    emails: EmailsApi;
    constructor(configuration: Configuration);
    /**
     * @summary Delete Notification
     * @param {string} notificationId Id of the notification
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    delete(notificationId: string): Promise<BitmovinResponse>;
    /**
     * @summary Get Notification
     * @param {string} notificationId Id of the notification
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    get(notificationId: string): Promise<Notification>;
    /**
     * @summary List Notifications
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    list(queryParameters?: NotificationListQueryParams | ((q: NotificationListQueryParamsBuilder) => NotificationListQueryParamsBuilder)): Promise<PaginationResponse<Notification>>;
    /**
     * @summary List Notification State History (All Resources)
     * @param {string} notificationId Id of the notification
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    listByNotificationId(notificationId: string, queryParameters?: NotificationStateEntryListByNotificationIdQueryParams | ((q: NotificationStateEntryListByNotificationIdQueryParamsBuilder) => NotificationStateEntryListByNotificationIdQueryParamsBuilder)): Promise<PaginationResponse<NotificationStateEntry>>;
    /**
     * @summary Mute Notification
     * @param {string} notificationId Id of the notification
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    mute(notificationId: string): Promise<BitmovinResponse>;
    /**
     * @summary Unmute Notification
     * @param {string} notificationId Id of the notification
     * @throws {BitmovinError}
     * @memberof NotificationsApi
     */
    unmute(notificationId: string): Promise<BitmovinResponse>;
}
