/**
 * OpenZeppelin Relayer API
 * OpenZeppelin Relayer API
 *
 * The version of the OpenAPI document: 1.3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { ApiResponseNotificationResponse } from '../models';
import type { ApiResponseString } from '../models';
import type { ApiResponseVecNotificationResponse } from '../models';
import type { NotificationCreateRequest } from '../models';
import type { NotificationUpdateRequest } from '../models';
/**
 * NotificationsApi - axios parameter creator
 * @export
 */
export declare const NotificationsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Creates a new notification.
     * @param {NotificationCreateRequest} notificationCreateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNotification: (notificationCreateRequest: NotificationCreateRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Deletes a notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteNotification: (notificationId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Retrieves details of a specific notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getNotification: (notificationId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Note: OpenAPI documentation for these endpoints can be found in the `openapi.rs` file  Lists all notifications with pagination support.
     * @summary Notification routes implementation
     * @param {number} [page] Page number for pagination (starts at 1)
     * @param {number} [perPage] Number of items per page (default: 10)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNotifications: (page?: number, perPage?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Updates an existing notification.
     * @param {string} notificationId Notification ID
     * @param {NotificationUpdateRequest} notificationUpdateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNotification: (notificationId: string, notificationUpdateRequest: NotificationUpdateRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * NotificationsApi - functional programming interface
 * @export
 */
export declare const NotificationsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Creates a new notification.
     * @param {NotificationCreateRequest} notificationCreateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNotification(notificationCreateRequest: NotificationCreateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiResponseNotificationResponse>>;
    /**
     *
     * @summary Deletes a notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteNotification(notificationId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiResponseString>>;
    /**
     *
     * @summary Retrieves details of a specific notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getNotification(notificationId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiResponseNotificationResponse>>;
    /**
     * Note: OpenAPI documentation for these endpoints can be found in the `openapi.rs` file  Lists all notifications with pagination support.
     * @summary Notification routes implementation
     * @param {number} [page] Page number for pagination (starts at 1)
     * @param {number} [perPage] Number of items per page (default: 10)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNotifications(page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiResponseVecNotificationResponse>>;
    /**
     *
     * @summary Updates an existing notification.
     * @param {string} notificationId Notification ID
     * @param {NotificationUpdateRequest} notificationUpdateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNotification(notificationId: string, notificationUpdateRequest: NotificationUpdateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiResponseNotificationResponse>>;
};
/**
 * NotificationsApi - factory interface
 * @export
 */
export declare const NotificationsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Creates a new notification.
     * @param {NotificationCreateRequest} notificationCreateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createNotification(notificationCreateRequest: NotificationCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApiResponseNotificationResponse>;
    /**
     *
     * @summary Deletes a notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteNotification(notificationId: string, options?: RawAxiosRequestConfig): AxiosPromise<ApiResponseString>;
    /**
     *
     * @summary Retrieves details of a specific notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getNotification(notificationId: string, options?: RawAxiosRequestConfig): AxiosPromise<ApiResponseNotificationResponse>;
    /**
     * Note: OpenAPI documentation for these endpoints can be found in the `openapi.rs` file  Lists all notifications with pagination support.
     * @summary Notification routes implementation
     * @param {number} [page] Page number for pagination (starts at 1)
     * @param {number} [perPage] Number of items per page (default: 10)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listNotifications(page?: number, perPage?: number, options?: RawAxiosRequestConfig): AxiosPromise<ApiResponseVecNotificationResponse>;
    /**
     *
     * @summary Updates an existing notification.
     * @param {string} notificationId Notification ID
     * @param {NotificationUpdateRequest} notificationUpdateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateNotification(notificationId: string, notificationUpdateRequest: NotificationUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApiResponseNotificationResponse>;
};
/**
 * NotificationsApi - object-oriented interface
 * @export
 * @class NotificationsApi
 * @extends {BaseAPI}
 */
export declare class NotificationsApi extends BaseAPI {
    /**
     *
     * @summary Creates a new notification.
     * @param {NotificationCreateRequest} notificationCreateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationsApi
     */
    createNotification(notificationCreateRequest: NotificationCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApiResponseNotificationResponse, any, {}>>;
    /**
     *
     * @summary Deletes a notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationsApi
     */
    deleteNotification(notificationId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApiResponseString, any, {}>>;
    /**
     *
     * @summary Retrieves details of a specific notification by ID.
     * @param {string} notificationId Notification ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationsApi
     */
    getNotification(notificationId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApiResponseNotificationResponse, any, {}>>;
    /**
     * Note: OpenAPI documentation for these endpoints can be found in the `openapi.rs` file  Lists all notifications with pagination support.
     * @summary Notification routes implementation
     * @param {number} [page] Page number for pagination (starts at 1)
     * @param {number} [perPage] Number of items per page (default: 10)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationsApi
     */
    listNotifications(page?: number, perPage?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApiResponseVecNotificationResponse, any, {}>>;
    /**
     *
     * @summary Updates an existing notification.
     * @param {string} notificationId Notification ID
     * @param {NotificationUpdateRequest} notificationUpdateRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationsApi
     */
    updateNotification(notificationId: string, notificationUpdateRequest: NotificationUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApiResponseNotificationResponse, any, {}>>;
}
