/**
 * Ocra (REST API for Sinch RTC clients)
 * REST API for Sinch RTC clients.
 *
 * The version of the OpenAPI document: 0.11.0
 * Contact: rtc@sinch.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import { PushNotification, PushProfile } from '../models';
export interface DeleteAllUserPushProfilesRequest {
    userId: string;
}
export interface DeletePushProfileRequest {
    userId: string;
    instanceId: string;
}
export interface GetPushProfileRequest {
    userId: string;
    instanceId: string;
}
export interface SendPushNotificationRequest {
    pushNotification: PushNotification;
}
export interface SendPushNotificationsRequest {
    pushNotification: Array<PushNotification>;
}
export interface UpdatePushProfileRequest {
    userId: string;
    instanceId: string;
    pushProfile: PushProfile;
}
/**
 *
 */
export declare class PushApi extends runtime.BaseAPI {
    /**
     * Delete all PushProfiles for given User
     */
    deleteAllUserPushProfilesRaw(requestParameters: DeleteAllUserPushProfilesRequest): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete all PushProfiles for given User
     */
    deleteAllUserPushProfiles(requestParameters: DeleteAllUserPushProfilesRequest): Promise<void>;
    /**
     * Delete PushProfile
     */
    deletePushProfileRaw(requestParameters: DeletePushProfileRequest): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete PushProfile
     */
    deletePushProfile(requestParameters: DeletePushProfileRequest): Promise<void>;
    /**
     * Get current PushProfile
     */
    getPushProfileRaw(requestParameters: GetPushProfileRequest): Promise<runtime.ApiResponse<PushProfile>>;
    /**
     * Get current PushProfile
     */
    getPushProfile(requestParameters: GetPushProfileRequest): Promise<PushProfile>;
    /**
     * (DEPRECATED) Send a single push notification message.
     */
    sendPushNotificationRaw(requestParameters: SendPushNotificationRequest): Promise<runtime.ApiResponse<void>>;
    /**
     * (DEPRECATED) Send a single push notification message.
     */
    sendPushNotification(requestParameters: SendPushNotificationRequest): Promise<void>;
    /**
     * Send push notification message(s)
     */
    sendPushNotificationsRaw(requestParameters: SendPushNotificationsRequest): Promise<runtime.ApiResponse<void>>;
    /**
     * Send push notification message(s)
     */
    sendPushNotifications(requestParameters: SendPushNotificationsRequest): Promise<void>;
    /**
     * Create or update PushProfile
     */
    updatePushProfileRaw(requestParameters: UpdatePushProfileRequest): Promise<runtime.ApiResponse<void>>;
    /**
     * Create or update PushProfile
     */
    updatePushProfile(requestParameters: UpdatePushProfileRequest): Promise<void>;
}
