/**
 * 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 { CountriesModel } from '../models';
import { CountryModel } from '../models';
import { MediaModel } from '../models';
import { MediaType } from '../models';
import { MediasModel } from '../models';
/**
 * CountriesApi - axios parameter creator
 * @export
 */
export declare const CountriesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Get country.
     * @param {string} countryId
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdGet: (countryId: string, languageCode?: string, returnDefaultValue?: boolean, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get all CountryMedias.
     * @param {string} countryId
     * @param {string} [id]
     * @param {MediaType} [mediaType]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasGet: (countryId: string, id?: string, mediaType?: MediaType, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get CountryMedia.
     * @param {string} countryId
     * @param {string} mediaId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasMediaIdGet: (countryId: string, mediaId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get all countries.
     * @param {string} [id]
     * @param {string} [name]
     * @param {string} [description]
     * @param {Date} [createdDate]
     * @param {string} [languageCode]
     * @param {boolean} [showHidden]
     * @param {boolean} [returnDefaultValue]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesGet: (id?: string, name?: string, description?: string, createdDate?: Date, languageCode?: string, showHidden?: boolean, returnDefaultValue?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get country by slug
     * @param {string} slug
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {string} [previewSecret]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesSlugGet: (slug: string, languageCode?: string, returnDefaultValue?: boolean, previewSecret?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CountriesApi - functional programming interface
 * @export
 */
export declare const CountriesApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Get country.
     * @param {string} countryId
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdGet(countryId: string, languageCode?: string, returnDefaultValue?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CountryModel>>;
    /**
     *
     * @summary Get all CountryMedias.
     * @param {string} countryId
     * @param {string} [id]
     * @param {MediaType} [mediaType]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasGet(countryId: string, id?: string, mediaType?: MediaType, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MediasModel>>;
    /**
     *
     * @summary Get CountryMedia.
     * @param {string} countryId
     * @param {string} mediaId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasMediaIdGet(countryId: string, mediaId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MediaModel>>;
    /**
     *
     * @summary Get all countries.
     * @param {string} [id]
     * @param {string} [name]
     * @param {string} [description]
     * @param {Date} [createdDate]
     * @param {string} [languageCode]
     * @param {boolean} [showHidden]
     * @param {boolean} [returnDefaultValue]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesGet(id?: string, name?: string, description?: string, createdDate?: Date, languageCode?: string, showHidden?: boolean, returnDefaultValue?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CountriesModel>>;
    /**
     *
     * @summary Get country by slug
     * @param {string} slug
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {string} [previewSecret]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesSlugGet(slug: string, languageCode?: string, returnDefaultValue?: boolean, previewSecret?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CountryModel>>;
};
/**
 * CountriesApi - factory interface
 * @export
 */
export declare const CountriesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Get country.
     * @param {string} countryId
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdGet(countryId: string, languageCode?: string, returnDefaultValue?: boolean, options?: any): AxiosPromise<CountryModel>;
    /**
     *
     * @summary Get all CountryMedias.
     * @param {string} countryId
     * @param {string} [id]
     * @param {MediaType} [mediaType]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasGet(countryId: string, id?: string, mediaType?: MediaType, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<MediasModel>;
    /**
     *
     * @summary Get CountryMedia.
     * @param {string} countryId
     * @param {string} mediaId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesCountryIdMediasMediaIdGet(countryId: string, mediaId: string, options?: any): AxiosPromise<MediaModel>;
    /**
     *
     * @summary Get all countries.
     * @param {string} [id]
     * @param {string} [name]
     * @param {string} [description]
     * @param {Date} [createdDate]
     * @param {string} [languageCode]
     * @param {boolean} [showHidden]
     * @param {boolean} [returnDefaultValue]
     * @param {number} [page]
     * @param {number} [limit]
     * @param {Date} [lastRetrieved]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesGet(id?: string, name?: string, description?: string, createdDate?: Date, languageCode?: string, showHidden?: boolean, returnDefaultValue?: boolean, page?: number, limit?: number, lastRetrieved?: Date, options?: any): AxiosPromise<CountriesModel>;
    /**
     *
     * @summary Get country by slug
     * @param {string} slug
     * @param {string} [languageCode] Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @param {boolean} [returnDefaultValue]
     * @param {string} [previewSecret]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiV2CountriesSlugGet(slug: string, languageCode?: string, returnDefaultValue?: boolean, previewSecret?: string, options?: any): AxiosPromise<CountryModel>;
};
/**
 * Request parameters for apiV2CountriesCountryIdGet operation in CountriesApi.
 * @export
 * @interface CountriesApiApiV2CountriesCountryIdGetRequest
 */
export interface CountriesApiApiV2CountriesCountryIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdGet
     */
    readonly countryId: string;
    /**
     * Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdGet
     */
    readonly languageCode?: string;
    /**
     *
     * @type {boolean}
     * @memberof CountriesApiApiV2CountriesCountryIdGet
     */
    readonly returnDefaultValue?: boolean;
}
/**
 * Request parameters for apiV2CountriesCountryIdMediasGet operation in CountriesApi.
 * @export
 * @interface CountriesApiApiV2CountriesCountryIdMediasGetRequest
 */
export interface CountriesApiApiV2CountriesCountryIdMediasGetRequest {
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly countryId: string;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly id?: string;
    /**
     *
     * @type {MediaType}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly mediaType?: MediaType;
    /**
     *
     * @type {number}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV2CountriesCountryIdMediasMediaIdGet operation in CountriesApi.
 * @export
 * @interface CountriesApiApiV2CountriesCountryIdMediasMediaIdGetRequest
 */
export interface CountriesApiApiV2CountriesCountryIdMediasMediaIdGetRequest {
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasMediaIdGet
     */
    readonly countryId: string;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesCountryIdMediasMediaIdGet
     */
    readonly mediaId: string;
}
/**
 * Request parameters for apiV2CountriesGet operation in CountriesApi.
 * @export
 * @interface CountriesApiApiV2CountriesGetRequest
 */
export interface CountriesApiApiV2CountriesGetRequest {
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly id?: string;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly name?: string;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly description?: string;
    /**
     *
     * @type {Date}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly createdDate?: Date;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly languageCode?: string;
    /**
     *
     * @type {boolean}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly showHidden?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly returnDefaultValue?: boolean;
    /**
     *
     * @type {number}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly page?: number;
    /**
     *
     * @type {number}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly limit?: number;
    /**
     *
     * @type {Date}
     * @memberof CountriesApiApiV2CountriesGet
     */
    readonly lastRetrieved?: Date;
}
/**
 * Request parameters for apiV2CountriesSlugGet operation in CountriesApi.
 * @export
 * @interface CountriesApiApiV2CountriesSlugGetRequest
 */
export interface CountriesApiApiV2CountriesSlugGetRequest {
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesSlugGet
     */
    readonly slug: string;
    /**
     * Locale code for selecting translation value (e.g., &#x60;en-US&#x60;, &#x60;ko-KR&#x60;).              Two-letter ISO 639-1 code (e.g., &#x60;en&#x60;, &#x60;ko&#x60;) is also accepted and will be automatically resolved              to the matching locale via &#x60;FallbackTargetLanguageCode&#x60; lookup.
     * @type {string}
     * @memberof CountriesApiApiV2CountriesSlugGet
     */
    readonly languageCode?: string;
    /**
     *
     * @type {boolean}
     * @memberof CountriesApiApiV2CountriesSlugGet
     */
    readonly returnDefaultValue?: boolean;
    /**
     *
     * @type {string}
     * @memberof CountriesApiApiV2CountriesSlugGet
     */
    readonly previewSecret?: string;
}
/**
 * CountriesApi - object-oriented interface
 * @export
 * @class CountriesApi
 * @extends {BaseAPI}
 */
export declare class CountriesApi extends BaseAPI {
    /**
     *
     * @summary Get country.
     * @param {CountriesApiApiV2CountriesCountryIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CountriesApi
     */
    apiV2CountriesCountryIdGet(requestParameters: CountriesApiApiV2CountriesCountryIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CountryModel, any>>;
    /**
     *
     * @summary Get all CountryMedias.
     * @param {CountriesApiApiV2CountriesCountryIdMediasGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CountriesApi
     */
    apiV2CountriesCountryIdMediasGet(requestParameters: CountriesApiApiV2CountriesCountryIdMediasGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<MediasModel, any>>;
    /**
     *
     * @summary Get CountryMedia.
     * @param {CountriesApiApiV2CountriesCountryIdMediasMediaIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CountriesApi
     */
    apiV2CountriesCountryIdMediasMediaIdGet(requestParameters: CountriesApiApiV2CountriesCountryIdMediasMediaIdGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<MediaModel, any>>;
    /**
     *
     * @summary Get all countries.
     * @param {CountriesApiApiV2CountriesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CountriesApi
     */
    apiV2CountriesGet(requestParameters?: CountriesApiApiV2CountriesGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CountriesModel, any>>;
    /**
     *
     * @summary Get country by slug
     * @param {CountriesApiApiV2CountriesSlugGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CountriesApi
     */
    apiV2CountriesSlugGet(requestParameters: CountriesApiApiV2CountriesSlugGetRequest, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CountryModel, any>>;
}
//# sourceMappingURL=countries-api.d.ts.map