/**
 * CloudHospital Api
 * CloudHospital application with Swagger, Swashbuckle, and API versioning.
 *
 * The version of the OpenAPI document: 2
 * 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 { PlanHospitalModel } from '../models';
import { PlanHospitalsModel } from '../models';
import { PlanModel } from '../models';
import { PlansModel } from '../models';
/**
 * PlansApi - axios parameter creator
 * @export
 */
export declare const PlansApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Get all plans.
     * @param {string} [id]
     * @param {string} [name]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansGet: (id?: string, name?: string, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get plan.
     * @param {string} planId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdGet: (planId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get all plan hospital.
     * @param {string} planId
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsGet: (planId: string, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get plan hospital.
     * @param {string} planId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsHospitalIdGet: (planId: string, hospitalId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * PlansApi - functional programming interface
 * @export
 */
export declare const PlansApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Get all plans.
     * @param {string} [id]
     * @param {string} [name]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansGet(id?: string, name?: string, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlansModel>>;
    /**
     *
     * @summary Get plan.
     * @param {string} planId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdGet(planId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlanModel>>;
    /**
     *
     * @summary Get all plan hospital.
     * @param {string} planId
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsGet(planId: string, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlanHospitalsModel>>;
    /**
     *
     * @summary Get plan hospital.
     * @param {string} planId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsHospitalIdGet(planId: string, hospitalId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlanHospitalModel>>;
};
/**
 * PlansApi - factory interface
 * @export
 */
export declare const PlansApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Get all plans.
     * @param {string} [id]
     * @param {string} [name]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansGet(id?: string, name?: string, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<PlansModel>;
    /**
     *
     * @summary Get plan.
     * @param {string} planId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdGet(planId: string, options?: any): AxiosPromise<PlanModel>;
    /**
     *
     * @summary Get all plan hospital.
     * @param {string} planId
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsGet(planId: string, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<PlanHospitalsModel>;
    /**
     *
     * @summary Get plan hospital.
     * @param {string} planId
     * @param {string} hospitalId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2PlansPlanIdHospitalsHospitalIdGet(planId: string, hospitalId: string, options?: any): AxiosPromise<PlanHospitalModel>;
};
/**
 * Request parameters for apiV2PlansGet operation in PlansApi.
 * @export
 * @interface PlansApiApiV2PlansGetRequest
 */
export interface PlansApiApiV2PlansGetRequest {
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansGet
     */
    readonly id?: string;
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansGet
     */
    readonly name?: string;
    /**
     *
     * @type {number}
     * @memberof PlansApiApiV2PlansGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof PlansApiApiV2PlansGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof PlansApiApiV2PlansGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV2PlansPlanIdGet operation in PlansApi.
 * @export
 * @interface PlansApiApiV2PlansPlanIdGetRequest
 */
export interface PlansApiApiV2PlansPlanIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansPlanIdGet
     */
    readonly planId: string;
}
/**
 * Request parameters for apiV2PlansPlanIdHospitalsGet operation in PlansApi.
 * @export
 * @interface PlansApiApiV2PlansPlanIdHospitalsGetRequest
 */
export interface PlansApiApiV2PlansPlanIdHospitalsGetRequest {
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsGet
     */
    readonly planId: string;
    /**
     *
     * @type {number}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV2PlansPlanIdHospitalsHospitalIdGet operation in PlansApi.
 * @export
 * @interface PlansApiApiV2PlansPlanIdHospitalsHospitalIdGetRequest
 */
export interface PlansApiApiV2PlansPlanIdHospitalsHospitalIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsHospitalIdGet
     */
    readonly planId: string;
    /**
     *
     * @type {string}
     * @memberof PlansApiApiV2PlansPlanIdHospitalsHospitalIdGet
     */
    readonly hospitalId: string;
}
/**
 * PlansApi - object-oriented interface
 * @export
 * @class PlansApi
 * @extends {BaseAPI}
 */
export declare class PlansApi extends BaseAPI {
    /**
     *
     * @summary Get all plans.
     * @param {PlansApiApiV2PlansGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PlansApi
     */
    apiV2PlansGet(requestParameters?: PlansApiApiV2PlansGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlansModel, any>>;
    /**
     *
     * @summary Get plan.
     * @param {PlansApiApiV2PlansPlanIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PlansApi
     */
    apiV2PlansPlanIdGet(requestParameters: PlansApiApiV2PlansPlanIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlanModel, any>>;
    /**
     *
     * @summary Get all plan hospital.
     * @param {PlansApiApiV2PlansPlanIdHospitalsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PlansApi
     */
    apiV2PlansPlanIdHospitalsGet(requestParameters: PlansApiApiV2PlansPlanIdHospitalsGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlanHospitalsModel, any>>;
    /**
     *
     * @summary Get plan hospital.
     * @param {PlansApiApiV2PlansPlanIdHospitalsHospitalIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PlansApi
     */
    apiV2PlansPlanIdHospitalsHospitalIdGet(requestParameters: PlansApiApiV2PlansPlanIdHospitalsHospitalIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PlanHospitalModel, any>>;
}
//# sourceMappingURL=plans-api.d.ts.map