/**
 * 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 { CreatePatientAffiliationCommand } from '../models';
import { CreatePatientCommand } from '../models';
import { Gender } from '../models';
import { PatientAffiliationModel } from '../models';
import { PatientModel } from '../models';
import { PatientWalkInModel } from '../models';
import { PatientsModel } from '../models';
import { UpdatePatientAffiliationCommand } from '../models';
import { UpdatePatientCommand } from '../models';
/**
 * PatientsApi - axios parameter creator
 * @export
 */
export declare const PatientsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Get all Patients. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [id]
     * @param {string} [fullname]
     * @param {string} [email]
     * @param {Gender} [gender]
     * @param {Date} [dateOfBirth]
     * @param {Date} [created]
     * @param {boolean} [showHidden]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsGet: (hospitalId?: string, id?: string, fullname?: string, email?: string, gender?: Gender, dateOfBirth?: Date, created?: Date, showHidden?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdDelete: (patientId: string, hospitalId: string, isPermanent?: boolean, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get patientAffiliation by patient id and hospital id. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdGet: (patientId: string, hospitalId: string, languageCode?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Create patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {CreatePatientAffiliationCommand} [createPatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPost: (patientId: string, hospitalId: string, createPatientAffiliationCommand?: CreatePatientAffiliationCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Update patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {UpdatePatientAffiliationCommand} [updatePatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPut: (patientId: string, hospitalId: string, updatePatientAffiliationCommand?: UpdatePatientAffiliationCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Reactivate patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut: (patientId: string, hospitalId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdDelete: (patientId: string, isPermanent?: boolean, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdGet: (patientId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Update Patient. (Auth policies: RequirePatientManagerRole)
     * @param {string} patientId
     * @param {UpdatePatientCommand} [updatePatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdPut: (patientId: string, updatePatientCommand?: UpdatePatientCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Reactive Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdReactivatePut: (patientId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Create a Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreatePatientCommand} [createPatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPost: (createPatientCommand?: CreatePatientCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get patient information for Patient walk-in feature (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [email]
     * @param {string} [phone]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsWalkinGet: (hospitalId?: string, email?: string, phone?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * PatientsApi - functional programming interface
 * @export
 */
export declare const PatientsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Get all Patients. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [id]
     * @param {string} [fullname]
     * @param {string} [email]
     * @param {Gender} [gender]
     * @param {Date} [dateOfBirth]
     * @param {Date} [created]
     * @param {boolean} [showHidden]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsGet(hospitalId?: string, id?: string, fullname?: string, email?: string, gender?: Gender, dateOfBirth?: Date, created?: Date, showHidden?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientsModel>>;
    /**
     *
     * @summary Delete patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdDelete(patientId: string, hospitalId: string, isPermanent?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Get patientAffiliation by patient id and hospital id. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdGet(patientId: string, hospitalId: string, languageCode?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientAffiliationModel>>;
    /**
     *
     * @summary Create patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {CreatePatientAffiliationCommand} [createPatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPost(patientId: string, hospitalId: string, createPatientAffiliationCommand?: CreatePatientAffiliationCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Update patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {UpdatePatientAffiliationCommand} [updatePatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPut(patientId: string, hospitalId: string, updatePatientAffiliationCommand?: UpdatePatientAffiliationCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Reactivate patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut(patientId: string, hospitalId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Delete Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdDelete(patientId: string, isPermanent?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Get Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdGet(patientId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientModel>>;
    /**
     *
     * @summary Update Patient. (Auth policies: RequirePatientManagerRole)
     * @param {string} patientId
     * @param {UpdatePatientCommand} [updatePatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdPut(patientId: string, updatePatientCommand?: UpdatePatientCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientModel>>;
    /**
     *
     * @summary Reactive Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdReactivatePut(patientId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Create a Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreatePatientCommand} [createPatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPost(createPatientCommand?: CreatePatientCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientModel>>;
    /**
     *
     * @summary Get patient information for Patient walk-in feature (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [email]
     * @param {string} [phone]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsWalkinGet(hospitalId?: string, email?: string, phone?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PatientWalkInModel>>;
};
/**
 * PatientsApi - factory interface
 * @export
 */
export declare const PatientsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Get all Patients. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [id]
     * @param {string} [fullname]
     * @param {string} [email]
     * @param {Gender} [gender]
     * @param {Date} [dateOfBirth]
     * @param {Date} [created]
     * @param {boolean} [showHidden]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsGet(hospitalId?: string, id?: string, fullname?: string, email?: string, gender?: Gender, dateOfBirth?: Date, created?: Date, showHidden?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<PatientsModel>;
    /**
     *
     * @summary Delete patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdDelete(patientId: string, hospitalId: string, isPermanent?: boolean, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Get patientAffiliation by patient id and hospital id. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdGet(patientId: string, hospitalId: string, languageCode?: string, options?: any): AxiosPromise<PatientAffiliationModel>;
    /**
     *
     * @summary Create patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {CreatePatientAffiliationCommand} [createPatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPost(patientId: string, hospitalId: string, createPatientAffiliationCommand?: CreatePatientAffiliationCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Update patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {UpdatePatientAffiliationCommand} [updatePatientAffiliationCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPut(patientId: string, hospitalId: string, updatePatientAffiliationCommand?: UpdatePatientAffiliationCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Reactivate patient affiliation (Auth policies: RequireDoctorRole)
     * @param {string} patientId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut(patientId: string, hospitalId: string, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Delete Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdDelete(patientId: string, isPermanent?: boolean, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Get Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdGet(patientId: string, options?: any): AxiosPromise<PatientModel>;
    /**
     *
     * @summary Update Patient. (Auth policies: RequirePatientManagerRole)
     * @param {string} patientId
     * @param {UpdatePatientCommand} [updatePatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdPut(patientId: string, updatePatientCommand?: UpdatePatientCommand, options?: any): AxiosPromise<PatientModel>;
    /**
     *
     * @summary Reactive Patient. (Auth policies: RequireManagerRole)
     * @param {string} patientId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPatientIdReactivatePut(patientId: string, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Create a Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreatePatientCommand} [createPatientCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsPost(createPatientCommand?: CreatePatientCommand, options?: any): AxiosPromise<PatientModel>;
    /**
     *
     * @summary Get patient information for Patient walk-in feature (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [hospitalId]
     * @param {string} [email]
     * @param {string} [phone]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1PatientsWalkinGet(hospitalId?: string, email?: string, phone?: string, options?: any): AxiosPromise<PatientWalkInModel>;
};
/**
 * Request parameters for apiV1PatientsGet operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsGetRequest
 */
export interface PatientsApiApiV1PatientsGetRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly hospitalId?: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly id?: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly fullname?: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly email?: string;
    /**
     *
     * @type {Gender}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly gender?: Gender;
    /**
     *
     * @type {Date}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly dateOfBirth?: Date;
    /**
     *
     * @type {Date}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly created?: Date;
    /**
     *
     * @type {boolean}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly showHidden?: boolean;
    /**
     *
     * @type {number}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof PatientsApiApiV1PatientsGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV1PatientsPatientIdAffiliationsHospitalIdDelete operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDeleteRequest
 */
export interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDeleteRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDelete
     */
    readonly patientId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDelete
     */
    readonly hospitalId: string;
    /**
     *
     * @type {boolean}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDelete
     */
    readonly isPermanent?: boolean;
}
/**
 * Request parameters for apiV1PatientsPatientIdAffiliationsHospitalIdGet operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGetRequest
 */
export interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGet
     */
    readonly patientId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGet
     */
    readonly hospitalId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGet
     */
    readonly languageCode?: string;
}
/**
 * Request parameters for apiV1PatientsPatientIdAffiliationsHospitalIdPost operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPostRequest
 */
export interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPostRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPost
     */
    readonly patientId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPost
     */
    readonly hospitalId: string;
    /**
     *
     * @type {CreatePatientAffiliationCommand}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPost
     */
    readonly createPatientAffiliationCommand?: CreatePatientAffiliationCommand;
}
/**
 * Request parameters for apiV1PatientsPatientIdAffiliationsHospitalIdPut operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPutRequest
 */
export interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPutRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPut
     */
    readonly patientId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPut
     */
    readonly hospitalId: string;
    /**
     *
     * @type {UpdatePatientAffiliationCommand}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPut
     */
    readonly updatePatientAffiliationCommand?: UpdatePatientAffiliationCommand;
}
/**
 * Request parameters for apiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePutRequest
 */
export interface PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePutRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut
     */
    readonly patientId: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut
     */
    readonly hospitalId: string;
}
/**
 * Request parameters for apiV1PatientsPatientIdDelete operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdDeleteRequest
 */
export interface PatientsApiApiV1PatientsPatientIdDeleteRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdDelete
     */
    readonly patientId: string;
    /**
     *
     * @type {boolean}
     * @memberof PatientsApiApiV1PatientsPatientIdDelete
     */
    readonly isPermanent?: boolean;
}
/**
 * Request parameters for apiV1PatientsPatientIdGet operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdGetRequest
 */
export interface PatientsApiApiV1PatientsPatientIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdGet
     */
    readonly patientId: string;
}
/**
 * Request parameters for apiV1PatientsPatientIdPut operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdPutRequest
 */
export interface PatientsApiApiV1PatientsPatientIdPutRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdPut
     */
    readonly patientId: string;
    /**
     *
     * @type {UpdatePatientCommand}
     * @memberof PatientsApiApiV1PatientsPatientIdPut
     */
    readonly updatePatientCommand?: UpdatePatientCommand;
}
/**
 * Request parameters for apiV1PatientsPatientIdReactivatePut operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPatientIdReactivatePutRequest
 */
export interface PatientsApiApiV1PatientsPatientIdReactivatePutRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsPatientIdReactivatePut
     */
    readonly patientId: string;
}
/**
 * Request parameters for apiV1PatientsPost operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsPostRequest
 */
export interface PatientsApiApiV1PatientsPostRequest {
    /**
     *
     * @type {CreatePatientCommand}
     * @memberof PatientsApiApiV1PatientsPost
     */
    readonly createPatientCommand?: CreatePatientCommand;
}
/**
 * Request parameters for apiV1PatientsWalkinGet operation in PatientsApi.
 * @export
 * @interface PatientsApiApiV1PatientsWalkinGetRequest
 */
export interface PatientsApiApiV1PatientsWalkinGetRequest {
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsWalkinGet
     */
    readonly hospitalId?: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsWalkinGet
     */
    readonly email?: string;
    /**
     *
     * @type {string}
     * @memberof PatientsApiApiV1PatientsWalkinGet
     */
    readonly phone?: string;
}
/**
 * PatientsApi - object-oriented interface
 * @export
 * @class PatientsApi
 * @extends {BaseAPI}
 */
export declare class PatientsApi extends BaseAPI {
    /**
     *
     * @summary Get all Patients. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsGet(requestParameters?: PatientsApiApiV1PatientsGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientsModel, any>>;
    /**
     *
     * @summary Delete patient affiliation (Auth policies: RequireDoctorRole)
     * @param {PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdDelete(requestParameters: PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdDeleteRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Get patientAffiliation by patient id and hospital id. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdGet(requestParameters: PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientAffiliationModel, any>>;
    /**
     *
     * @summary Create patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPost(requestParameters: PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Update patient affiliation (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdPut(requestParameters: PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdPutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Reactivate patient affiliation (Auth policies: RequireDoctorRole)
     * @param {PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdAffiliationsHospitalIdReactivatePut(requestParameters: PatientsApiApiV1PatientsPatientIdAffiliationsHospitalIdReactivatePutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Delete Patient. (Auth policies: RequireManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdDelete(requestParameters: PatientsApiApiV1PatientsPatientIdDeleteRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Get Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdGet(requestParameters: PatientsApiApiV1PatientsPatientIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientModel, any>>;
    /**
     *
     * @summary Update Patient. (Auth policies: RequirePatientManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdPutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdPut(requestParameters: PatientsApiApiV1PatientsPatientIdPutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientModel, any>>;
    /**
     *
     * @summary Reactive Patient. (Auth policies: RequireManagerRole)
     * @param {PatientsApiApiV1PatientsPatientIdReactivatePutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPatientIdReactivatePut(requestParameters: PatientsApiApiV1PatientsPatientIdReactivatePutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Create a Patient. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsPost(requestParameters?: PatientsApiApiV1PatientsPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientModel, any>>;
    /**
     *
     * @summary Get patient information for Patient walk-in feature (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {PatientsApiApiV1PatientsWalkinGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PatientsApi
     */
    apiV1PatientsWalkinGet(requestParameters?: PatientsApiApiV1PatientsWalkinGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PatientWalkInModel, any>>;
}
//# sourceMappingURL=patients-api.d.ts.map