import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import GceAccountRegionSettings from '../../../../models/GceAccountRegionSettings';
import GoogleCloudRegion from '../../../../models/GoogleCloudRegion';
import PaginationResponse from '../../../../models/PaginationResponse';
import { GceAccountRegionSettingsListQueryParams, GceAccountRegionSettingsListQueryParamsBuilder } from './GceAccountRegionSettingsListQueryParams';
/**
 * RegionsApi - object-oriented interface
 * @export
 * @class RegionsApi
 * @extends {BaseAPI}
 */
export default class RegionsApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add Google Cloud Region Setting
     * @param {string} infrastructureId Id of the Google Cloud Connect infrastructure resource
     * @param {GoogleCloudRegion} region Google Cloud Region.
     * @param {GceAccountRegionSettings} gceAccountRegionSettings The Google Cloud Region Settings to be added
     * @throws {BitmovinError}
     * @memberof RegionsApi
     */
    create(infrastructureId: string, region: GoogleCloudRegion, gceAccountRegionSettings?: GceAccountRegionSettings): Promise<GceAccountRegionSettings>;
    /**
     * @summary Delete Google Cloud Region Settings
     * @param {string} infrastructureId Id of the Google Cloud Connect infrastructure resource
     * @param {GoogleCloudRegion} region Google Cloud Region
     * @throws {BitmovinError}
     * @memberof RegionsApi
     */
    delete(infrastructureId: string, region: GoogleCloudRegion): Promise<GceAccountRegionSettings>;
    /**
     * @summary Google Cloud Region Settings Details
     * @param {string} infrastructureId Id of the Google Cloud Connect infrastructure resource
     * @param {GoogleCloudRegion} region Google Cloud region.
     * @throws {BitmovinError}
     * @memberof RegionsApi
     */
    get(infrastructureId: string, region: GoogleCloudRegion): Promise<GceAccountRegionSettings>;
    /**
     * @summary List Google Cloud Region Settings
     * @param {string} infrastructureId Id of the Google Cloud Connect infrastructure resource
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof RegionsApi
     */
    list(infrastructureId: string, queryParameters?: GceAccountRegionSettingsListQueryParams | ((q: GceAccountRegionSettingsListQueryParamsBuilder) => GceAccountRegionSettingsListQueryParamsBuilder)): Promise<PaginationResponse<GceAccountRegionSettings>>;
}
