import { BaseAPI } from '../../../common/BaseAPI';
import Configuration from '../../../common/Configuration';
import ActionsApi from './actions/ActionsApi';
import EncodingsApi from './encodings/EncodingsApi';
import LogsApi from './logs/LogsApi';
import BitmovinResponse from '../../../models/BitmovinResponse';
import LiveStandbyPoolDetails from '../../../models/LiveStandbyPoolDetails';
import LiveStandbyPoolRequest from '../../../models/LiveStandbyPoolRequest';
import LiveStandbyPoolResponse from '../../../models/LiveStandbyPoolResponse';
import LiveStandbyPoolUpdate from '../../../models/LiveStandbyPoolUpdate';
import PaginationResponse from '../../../models/PaginationResponse';
/**
 * StandbyPoolsApi - object-oriented interface
 * @export
 * @class StandbyPoolsApi
 * @extends {BaseAPI}
 */
export default class StandbyPoolsApi extends BaseAPI {
    actions: ActionsApi;
    encodings: EncodingsApi;
    logs: LogsApi;
    constructor(configuration: Configuration);
    /**
     * @summary Create new standby pool
     * @param {LiveStandbyPoolRequest} liveStandbyPoolRequest The pool to be created
     * @throws {BitmovinError}
     * @memberof StandbyPoolsApi
     */
    create(liveStandbyPoolRequest?: LiveStandbyPoolRequest): Promise<LiveStandbyPoolDetails>;
    /**
     * @summary Delete standby pool by id
     * @param {string} poolId Id of the standby pool
     * @throws {BitmovinError}
     * @memberof StandbyPoolsApi
     */
    delete(poolId: string): Promise<BitmovinResponse>;
    /**
     * @summary Get details of a standby pool by id
     * @param {string} poolId Id of the standby pool
     * @throws {BitmovinError}
     * @memberof StandbyPoolsApi
     */
    get(poolId: string): Promise<LiveStandbyPoolDetails>;
    /**
     * @summary List Standby pools
     * @throws {BitmovinError}
     * @memberof StandbyPoolsApi
     */
    list(): Promise<PaginationResponse<LiveStandbyPoolResponse>>;
    /**
     * @summary Partially update standby pool by id
     * @param {string} poolId Id of the standby pool
     * @param {LiveStandbyPoolUpdate} liveStandbyPoolUpdate The updated standby pool object.
     * @throws {BitmovinError}
     * @memberof StandbyPoolsApi
     */
    patch(poolId: string, liveStandbyPoolUpdate?: LiveStandbyPoolUpdate): Promise<LiveStandbyPoolDetails>;
}
