/**
 * 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 { AppointmentModel } from '../models';
import { AppointmentStatus } from '../models';
import { AppointmentType } from '../models';
import { AppointmentsModel } from '../models';
import { ApproveAppointmentCommand } from '../models';
import { CancelAppointmentCommand } from '../models';
import { CreateWalkInAppointmentCommand } from '../models';
import { RejectAppointmentCommand } from '../models';
import { RescheduleAppointmentCommand } from '../models';
import { SortingOrder } from '../models';
/**
 * AppointmentsApi - axios parameter creator
 * @export
 */
export declare const AppointmentsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Approve appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {ApproveAppointmentCommand} [approveAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdApprovePut: (appointmentId: string, approveAppointmentCommand?: ApproveAppointmentCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Cancel appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {CancelAppointmentCommand} [cancelAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCancelPut: (appointmentId: string, cancelAppointmentCommand?: CancelAppointmentCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Complete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCompletePost: (appointmentId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdDelete: (appointmentId: string, isPermanent?: boolean, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get appointment by id (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdGet: (appointmentId: string, languageCode?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesDelete: (appointmentId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Create appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesPost: (appointmentId: string, languageCode?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Set appointment paid (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdPaidPost: (appointmentId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Set appointment as refunded (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRefundPost: (appointmentId: string, languageCode?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Reject appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RejectAppointmentCommand} [rejectAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRejectPut: (appointmentId: string, rejectAppointmentCommand?: RejectAppointmentCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Reschedule appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RescheduleAppointmentCommand} [rescheduleAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdReschedulePut: (appointmentId: string, rescheduleAppointmentCommand?: RescheduleAppointmentCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get appointments (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [id]
     * @param {string} [userId]
     * @param {string} [userName]
     * @param {string} [hospitalId]
     * @param {string} [hospitalName]
     * @param {string} [doctorId]
     * @param {string} [doctorName]
     * @param {string} [dealId]
     * @param {string} [dealName]
     * @param {string} [dealPackageId]
     * @param {string} [hospitalSpecialtyId]
     * @param {string} [serviceId]
     * @param {boolean} [isOpen]
     * @param {boolean} [isCompleted]
     * @param {Date} [start]
     * @param {Date} [end]
     * @param {boolean} [requiresPaymentVerified]
     * @param {boolean} [refundInformationIsReady]
     * @param {AppointmentStatus} [status]
     * @param {Array<AppointmentStatus>} [appointmentStatus]
     * @param {AppointmentType} [appointmentType]
     * @param {SortingOrder} [sortRequestDate]
     * @param {SortingOrder} [sortConfirmedDateStart]
     * @param {boolean} [paymentEnabled]
     * @param {string} [languageCode]
     * @param {boolean} [hasPrescription]
     * @param {boolean} [showHidden]
     * @param {boolean} [isOnline]
     * @param {boolean} [isExternal]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsGet: (id?: string, userId?: string, userName?: string, hospitalId?: string, hospitalName?: string, doctorId?: string, doctorName?: string, dealId?: string, dealName?: string, dealPackageId?: string, hospitalSpecialtyId?: string, serviceId?: string, isOpen?: boolean, isCompleted?: boolean, start?: Date, end?: Date, requiresPaymentVerified?: boolean, refundInformationIsReady?: boolean, status?: AppointmentStatus, appointmentStatus?: Array<AppointmentStatus>, appointmentType?: AppointmentType, sortRequestDate?: SortingOrder, sortConfirmedDateStart?: SortingOrder, paymentEnabled?: boolean, languageCode?: string, hasPrescription?: boolean, showHidden?: boolean, isOnline?: boolean, isExternal?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary The patient visits and makes an appointment. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreateWalkInAppointmentCommand} [createWalkInAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsWalkinPost: (createWalkInAppointmentCommand?: CreateWalkInAppointmentCommand, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * AppointmentsApi - functional programming interface
 * @export
 */
export declare const AppointmentsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Approve appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {ApproveAppointmentCommand} [approveAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdApprovePut(appointmentId: string, approveAppointmentCommand?: ApproveAppointmentCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Cancel appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {CancelAppointmentCommand} [cancelAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCancelPut(appointmentId: string, cancelAppointmentCommand?: CancelAppointmentCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Complete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCompletePost(appointmentId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Delete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdDelete(appointmentId: string, isPermanent?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Get appointment by id (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdGet(appointmentId: string, languageCode?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AppointmentModel>>;
    /**
     *
     * @summary Delete appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesDelete(appointmentId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Create appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesPost(appointmentId: string, languageCode?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Set appointment paid (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdPaidPost(appointmentId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     *
     * @summary Set appointment as refunded (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRefundPost(appointmentId: string, languageCode?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AppointmentModel>>;
    /**
     *
     * @summary Reject appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RejectAppointmentCommand} [rejectAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRejectPut(appointmentId: string, rejectAppointmentCommand?: RejectAppointmentCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<boolean>>;
    /**
     *
     * @summary Reschedule appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RescheduleAppointmentCommand} [rescheduleAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdReschedulePut(appointmentId: string, rescheduleAppointmentCommand?: RescheduleAppointmentCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AppointmentModel>>;
    /**
     *
     * @summary Get appointments (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [id]
     * @param {string} [userId]
     * @param {string} [userName]
     * @param {string} [hospitalId]
     * @param {string} [hospitalName]
     * @param {string} [doctorId]
     * @param {string} [doctorName]
     * @param {string} [dealId]
     * @param {string} [dealName]
     * @param {string} [dealPackageId]
     * @param {string} [hospitalSpecialtyId]
     * @param {string} [serviceId]
     * @param {boolean} [isOpen]
     * @param {boolean} [isCompleted]
     * @param {Date} [start]
     * @param {Date} [end]
     * @param {boolean} [requiresPaymentVerified]
     * @param {boolean} [refundInformationIsReady]
     * @param {AppointmentStatus} [status]
     * @param {Array<AppointmentStatus>} [appointmentStatus]
     * @param {AppointmentType} [appointmentType]
     * @param {SortingOrder} [sortRequestDate]
     * @param {SortingOrder} [sortConfirmedDateStart]
     * @param {boolean} [paymentEnabled]
     * @param {string} [languageCode]
     * @param {boolean} [hasPrescription]
     * @param {boolean} [showHidden]
     * @param {boolean} [isOnline]
     * @param {boolean} [isExternal]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsGet(id?: string, userId?: string, userName?: string, hospitalId?: string, hospitalName?: string, doctorId?: string, doctorName?: string, dealId?: string, dealName?: string, dealPackageId?: string, hospitalSpecialtyId?: string, serviceId?: string, isOpen?: boolean, isCompleted?: boolean, start?: Date, end?: Date, requiresPaymentVerified?: boolean, refundInformationIsReady?: boolean, status?: AppointmentStatus, appointmentStatus?: Array<AppointmentStatus>, appointmentType?: AppointmentType, sortRequestDate?: SortingOrder, sortConfirmedDateStart?: SortingOrder, paymentEnabled?: boolean, languageCode?: string, hasPrescription?: boolean, showHidden?: boolean, isOnline?: boolean, isExternal?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AppointmentsModel>>;
    /**
     *
     * @summary The patient visits and makes an appointment. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreateWalkInAppointmentCommand} [createWalkInAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsWalkinPost(createWalkInAppointmentCommand?: CreateWalkInAppointmentCommand, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
/**
 * AppointmentsApi - factory interface
 * @export
 */
export declare const AppointmentsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Approve appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {ApproveAppointmentCommand} [approveAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdApprovePut(appointmentId: string, approveAppointmentCommand?: ApproveAppointmentCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Cancel appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {CancelAppointmentCommand} [cancelAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCancelPut(appointmentId: string, cancelAppointmentCommand?: CancelAppointmentCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Complete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdCompletePost(appointmentId: string, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Delete appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {boolean} [isPermanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdDelete(appointmentId: string, isPermanent?: boolean, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Get appointment by id (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdGet(appointmentId: string, languageCode?: string, options?: any): AxiosPromise<AppointmentModel>;
    /**
     *
     * @summary Delete appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesDelete(appointmentId: string, options?: any): AxiosPromise<void>;
    /**
     *
     * @summary Create appointment invoice (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdInvoicesPost(appointmentId: string, languageCode?: string, options?: any): AxiosPromise<void>;
    /**
     *
     * @summary Set appointment paid (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdPaidPost(appointmentId: string, options?: any): AxiosPromise<string>;
    /**
     *
     * @summary Set appointment as refunded (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {string} [languageCode]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRefundPost(appointmentId: string, languageCode?: string, options?: any): AxiosPromise<AppointmentModel>;
    /**
     *
     * @summary Reject appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RejectAppointmentCommand} [rejectAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdRejectPut(appointmentId: string, rejectAppointmentCommand?: RejectAppointmentCommand, options?: any): AxiosPromise<boolean>;
    /**
     *
     * @summary Reschedule appointment (Auth policies: RequireDoctorRole)
     * @param {string} appointmentId
     * @param {RescheduleAppointmentCommand} [rescheduleAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsAppointmentIdReschedulePut(appointmentId: string, rescheduleAppointmentCommand?: RescheduleAppointmentCommand, options?: any): AxiosPromise<AppointmentModel>;
    /**
     *
     * @summary Get appointments (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {string} [id]
     * @param {string} [userId]
     * @param {string} [userName]
     * @param {string} [hospitalId]
     * @param {string} [hospitalName]
     * @param {string} [doctorId]
     * @param {string} [doctorName]
     * @param {string} [dealId]
     * @param {string} [dealName]
     * @param {string} [dealPackageId]
     * @param {string} [hospitalSpecialtyId]
     * @param {string} [serviceId]
     * @param {boolean} [isOpen]
     * @param {boolean} [isCompleted]
     * @param {Date} [start]
     * @param {Date} [end]
     * @param {boolean} [requiresPaymentVerified]
     * @param {boolean} [refundInformationIsReady]
     * @param {AppointmentStatus} [status]
     * @param {Array<AppointmentStatus>} [appointmentStatus]
     * @param {AppointmentType} [appointmentType]
     * @param {SortingOrder} [sortRequestDate]
     * @param {SortingOrder} [sortConfirmedDateStart]
     * @param {boolean} [paymentEnabled]
     * @param {string} [languageCode]
     * @param {boolean} [hasPrescription]
     * @param {boolean} [showHidden]
     * @param {boolean} [isOnline]
     * @param {boolean} [isExternal]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsGet(id?: string, userId?: string, userName?: string, hospitalId?: string, hospitalName?: string, doctorId?: string, doctorName?: string, dealId?: string, dealName?: string, dealPackageId?: string, hospitalSpecialtyId?: string, serviceId?: string, isOpen?: boolean, isCompleted?: boolean, start?: Date, end?: Date, requiresPaymentVerified?: boolean, refundInformationIsReady?: boolean, status?: AppointmentStatus, appointmentStatus?: Array<AppointmentStatus>, appointmentType?: AppointmentType, sortRequestDate?: SortingOrder, sortConfirmedDateStart?: SortingOrder, paymentEnabled?: boolean, languageCode?: string, hasPrescription?: boolean, showHidden?: boolean, isOnline?: boolean, isExternal?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<AppointmentsModel>;
    /**
     *
     * @summary The patient visits and makes an appointment. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {CreateWalkInAppointmentCommand} [createWalkInAppointmentCommand]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV1AppointmentsWalkinPost(createWalkInAppointmentCommand?: CreateWalkInAppointmentCommand, options?: any): AxiosPromise<string>;
};
/**
 * Request parameters for apiV1AppointmentsAppointmentIdApprovePut operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdApprovePutRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdApprovePutRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdApprovePut
     */
    readonly appointmentId: string;
    /**
     *
     * @type {ApproveAppointmentCommand}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdApprovePut
     */
    readonly approveAppointmentCommand?: ApproveAppointmentCommand;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdCancelPut operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdCancelPutRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdCancelPutRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdCancelPut
     */
    readonly appointmentId: string;
    /**
     *
     * @type {CancelAppointmentCommand}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdCancelPut
     */
    readonly cancelAppointmentCommand?: CancelAppointmentCommand;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdCompletePost operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdCompletePostRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdCompletePostRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdCompletePost
     */
    readonly appointmentId: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdDelete operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdDeleteRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdDeleteRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdDelete
     */
    readonly appointmentId: string;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdDelete
     */
    readonly isPermanent?: boolean;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdGet operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdGetRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdGet
     */
    readonly appointmentId: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdGet
     */
    readonly languageCode?: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdInvoicesDelete operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesDeleteRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesDeleteRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesDelete
     */
    readonly appointmentId: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdInvoicesPost operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPostRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPostRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPost
     */
    readonly appointmentId: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPost
     */
    readonly languageCode?: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdPaidPost operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdPaidPostRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdPaidPostRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdPaidPost
     */
    readonly appointmentId: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdRefundPost operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdRefundPostRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdRefundPostRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdRefundPost
     */
    readonly appointmentId: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdRefundPost
     */
    readonly languageCode?: string;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdRejectPut operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdRejectPutRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdRejectPutRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdRejectPut
     */
    readonly appointmentId: string;
    /**
     *
     * @type {RejectAppointmentCommand}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdRejectPut
     */
    readonly rejectAppointmentCommand?: RejectAppointmentCommand;
}
/**
 * Request parameters for apiV1AppointmentsAppointmentIdReschedulePut operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePutRequest
 */
export interface AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePutRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePut
     */
    readonly appointmentId: string;
    /**
     *
     * @type {RescheduleAppointmentCommand}
     * @memberof AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePut
     */
    readonly rescheduleAppointmentCommand?: RescheduleAppointmentCommand;
}
/**
 * Request parameters for apiV1AppointmentsGet operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsGetRequest
 */
export interface AppointmentsApiApiV1AppointmentsGetRequest {
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly id?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly userId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly userName?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly hospitalId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly hospitalName?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly doctorId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly doctorName?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly dealId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly dealName?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly dealPackageId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly hospitalSpecialtyId?: string;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly serviceId?: string;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly isOpen?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly isCompleted?: boolean;
    /**
     *
     * @type {Date}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly start?: Date;
    /**
     *
     * @type {Date}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly end?: Date;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly requiresPaymentVerified?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly refundInformationIsReady?: boolean;
    /**
     *
     * @type {AppointmentStatus}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly status?: AppointmentStatus;
    /**
     *
     * @type {Array<AppointmentStatus>}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly appointmentStatus?: Array<AppointmentStatus>;
    /**
     *
     * @type {AppointmentType}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly appointmentType?: AppointmentType;
    /**
     *
     * @type {SortingOrder}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly sortRequestDate?: SortingOrder;
    /**
     *
     * @type {SortingOrder}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly sortConfirmedDateStart?: SortingOrder;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly paymentEnabled?: boolean;
    /**
     *
     * @type {string}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly languageCode?: string;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly hasPrescription?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly showHidden?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly isOnline?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly isExternal?: boolean;
    /**
     *
     * @type {number}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof AppointmentsApiApiV1AppointmentsGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV1AppointmentsWalkinPost operation in AppointmentsApi.
 * @export
 * @interface AppointmentsApiApiV1AppointmentsWalkinPostRequest
 */
export interface AppointmentsApiApiV1AppointmentsWalkinPostRequest {
    /**
     *
     * @type {CreateWalkInAppointmentCommand}
     * @memberof AppointmentsApiApiV1AppointmentsWalkinPost
     */
    readonly createWalkInAppointmentCommand?: CreateWalkInAppointmentCommand;
}
/**
 * AppointmentsApi - object-oriented interface
 * @export
 * @class AppointmentsApi
 * @extends {BaseAPI}
 */
export declare class AppointmentsApi extends BaseAPI {
    /**
     *
     * @summary Approve appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdApprovePutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdApprovePut(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdApprovePutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Cancel appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdCancelPutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdCancelPut(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdCancelPutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Complete appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdCompletePostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdCompletePost(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdCompletePostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Delete appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdDelete(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdDeleteRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Get appointment by id (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdGet(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<AppointmentModel, any>>;
    /**
     *
     * @summary Delete appointment invoice (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdInvoicesDelete(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesDeleteRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    /**
     *
     * @summary Create appointment invoice (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdInvoicesPost(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdInvoicesPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    /**
     *
     * @summary Set appointment paid (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdPaidPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdPaidPost(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdPaidPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
    /**
     *
     * @summary Set appointment as refunded (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdRefundPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdRefundPost(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdRefundPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<AppointmentModel, any>>;
    /**
     *
     * @summary Reject appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdRejectPutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdRejectPut(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdRejectPutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<boolean, any>>;
    /**
     *
     * @summary Reschedule appointment (Auth policies: RequireDoctorRole)
     * @param {AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePutRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsAppointmentIdReschedulePut(requestParameters: AppointmentsApiApiV1AppointmentsAppointmentIdReschedulePutRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<AppointmentModel, any>>;
    /**
     *
     * @summary Get appointments (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {AppointmentsApiApiV1AppointmentsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsGet(requestParameters?: AppointmentsApiApiV1AppointmentsGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<AppointmentsModel, any>>;
    /**
     *
     * @summary The patient visits and makes an appointment. (Auth policies: RequireDoctorOrPatientManagerRole)
     * @param {AppointmentsApiApiV1AppointmentsWalkinPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AppointmentsApi
     */
    apiV1AppointmentsWalkinPost(requestParameters?: AppointmentsApiApiV1AppointmentsWalkinPostRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
}
//# sourceMappingURL=appointments-api.d.ts.map