/**
 * CloudHospital Admin Api
 * CloudHospital application with Swagger, Swashbuckle, and API versioning.
 *
 * The version of the OpenAPI document: 1
 * Contact: developer@icloudhospital.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 { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { ChangeEmailCommand } from '../models';
import { ConfirmEmailCommand } from '../models';
import { CreateProfileCommand } from '../models';
import { UpdateProfileCommand } from '../models';
import { UserModel } from '../models';
/**
 * ProfilesApi - axios parameter creator
 * @export
 */
export declare const ProfilesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Sample request:        POST /api/v1/profiles/changeEmail      {          \"email\": \"user@example.com\"      }
     * @summary Change user\'s email on both Identity and Api. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ChangeEmailCommand} [changeEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesChangeemailPost: (changeEmailCommand?: ChangeEmailCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Configm email. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ConfirmEmailCommand} [confirmEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesConfirmemailPost: (confirmEmailCommand?: ConfirmEmailCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesGet: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Create a Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {CreateProfileCommand} [createProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPost: (createProfileCommand?: CreateProfileCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {string} profileId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesProfileIdDelete: (profileId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Update Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {UpdateProfileCommand} [updateProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPut: (updateProfileCommand?: UpdateProfileCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ProfilesApi - functional programming interface
 * @export
 */
export declare const ProfilesApiFp: (configuration?: Configuration) => {
    /**
     * Sample request:        POST /api/v1/profiles/changeEmail      {          \"email\": \"user@example.com\"      }
     * @summary Change user\'s email on both Identity and Api. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ChangeEmailCommand} [changeEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesChangeemailPost(changeEmailCommand?: ChangeEmailCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Configm email. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ConfirmEmailCommand} [confirmEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesConfirmemailPost(confirmEmailCommand?: ConfirmEmailCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Get Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserModel>>;
    /**
     *
     * @summary Create a Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {CreateProfileCommand} [createProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPost(createProfileCommand?: CreateProfileCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserModel>>;
    /**
     *
     * @summary Delete Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {string} profileId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesProfileIdDelete(profileId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Update Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {UpdateProfileCommand} [updateProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPut(updateProfileCommand?: UpdateProfileCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserModel>>;
};
/**
 * ProfilesApi - factory interface
 * @export
 */
export declare const ProfilesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Sample request:        POST /api/v1/profiles/changeEmail      {          \"email\": \"user@example.com\"      }
     * @summary Change user\'s email on both Identity and Api. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ChangeEmailCommand} [changeEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesChangeemailPost(changeEmailCommand?: ChangeEmailCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Configm email. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ConfirmEmailCommand} [confirmEmailCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesConfirmemailPost(confirmEmailCommand?: ConfirmEmailCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Get Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesGet(options?: any): AxiosPromise<UserModel>;
    /**
     *
     * @summary Create a Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {CreateProfileCommand} [createProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPost(createProfileCommand?: CreateProfileCommand, options?: any): AxiosPromise<UserModel>;
    /**
     *
     * @summary Delete Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {string} profileId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesProfileIdDelete(profileId: string, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Update Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {UpdateProfileCommand} [updateProfileCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1ProfilesPut(updateProfileCommand?: UpdateProfileCommand, options?: any): AxiosPromise<UserModel>;
};
/**
 * Request parameters for apiV1ProfilesChangeemailPost operation in ProfilesApi.
 * @export
 * @interface ProfilesApiApiV1ProfilesChangeemailPostRequest
 */
export interface ProfilesApiApiV1ProfilesChangeemailPostRequest {
    /**
     *
     * @type {ChangeEmailCommand}
     * @memberof ProfilesApiApiV1ProfilesChangeemailPost
     */
    readonly changeEmailCommand?: ChangeEmailCommand;
}
/**
 * Request parameters for apiV1ProfilesConfirmemailPost operation in ProfilesApi.
 * @export
 * @interface ProfilesApiApiV1ProfilesConfirmemailPostRequest
 */
export interface ProfilesApiApiV1ProfilesConfirmemailPostRequest {
    /**
     *
     * @type {ConfirmEmailCommand}
     * @memberof ProfilesApiApiV1ProfilesConfirmemailPost
     */
    readonly confirmEmailCommand?: ConfirmEmailCommand;
}
/**
 * Request parameters for apiV1ProfilesPost operation in ProfilesApi.
 * @export
 * @interface ProfilesApiApiV1ProfilesPostRequest
 */
export interface ProfilesApiApiV1ProfilesPostRequest {
    /**
     *
     * @type {CreateProfileCommand}
     * @memberof ProfilesApiApiV1ProfilesPost
     */
    readonly createProfileCommand?: CreateProfileCommand;
}
/**
 * Request parameters for apiV1ProfilesProfileIdDelete operation in ProfilesApi.
 * @export
 * @interface ProfilesApiApiV1ProfilesProfileIdDeleteRequest
 */
export interface ProfilesApiApiV1ProfilesProfileIdDeleteRequest {
    /**
     *
     * @type {string}
     * @memberof ProfilesApiApiV1ProfilesProfileIdDelete
     */
    readonly profileId: string;
}
/**
 * Request parameters for apiV1ProfilesPut operation in ProfilesApi.
 * @export
 * @interface ProfilesApiApiV1ProfilesPutRequest
 */
export interface ProfilesApiApiV1ProfilesPutRequest {
    /**
     *
     * @type {UpdateProfileCommand}
     * @memberof ProfilesApiApiV1ProfilesPut
     */
    readonly updateProfileCommand?: UpdateProfileCommand;
}
/**
 * ProfilesApi - object-oriented interface
 * @export
 * @class ProfilesApi
 * @extends {BaseAPI}
 */
export declare class ProfilesApi extends BaseAPI {
    /**
     * Sample request:        POST /api/v1/profiles/changeEmail      {          \"email\": \"user@example.com\"      }
     * @summary Change user\'s email on both Identity and Api. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ProfilesApiApiV1ProfilesChangeemailPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesChangeemailPost(requestParameters?: ProfilesApiApiV1ProfilesChangeemailPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Configm email. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ProfilesApiApiV1ProfilesConfirmemailPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesConfirmemailPost(requestParameters?: ProfilesApiApiV1ProfilesConfirmemailPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Get Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesGet(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UserModel, any>>;
    /**
     *
     * @summary Create a Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ProfilesApiApiV1ProfilesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesPost(requestParameters?: ProfilesApiApiV1ProfilesPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UserModel, any>>;
    /**
     *
     * @summary Delete Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ProfilesApiApiV1ProfilesProfileIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesProfileIdDelete(requestParameters: ProfilesApiApiV1ProfilesProfileIdDeleteRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Update Profile. (Auth policies: RequireDefaultAdminAppRole)
     * @param {ProfilesApiApiV1ProfilesPutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProfilesApi
     */
    apiV1ProfilesPut(requestParameters?: ProfilesApiApiV1ProfilesPutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<UserModel, any>>;
}
//# sourceMappingURL=profiles-api.d.ts.map