import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import BitmovinResponse from '../../../../models/BitmovinResponse';
import PrewarmedEncoderPoolSchedule from '../../../../models/PrewarmedEncoderPoolSchedule';
import PaginationResponse from '../../../../models/PaginationResponse';
import { PrewarmedEncoderPoolScheduleListQueryParams, PrewarmedEncoderPoolScheduleListQueryParamsBuilder } from './PrewarmedEncoderPoolScheduleListQueryParams';
/**
 * SchedulesApi - object-oriented interface
 * @export
 * @class SchedulesApi
 * @extends {BaseAPI}
 */
export default class SchedulesApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Create prewarmed encoder pool schedule
     * @param {string} poolId Id of the scheduled encoder pool
     * @param {PrewarmedEncoderPoolSchedule} prewarmedEncoderPoolSchedule The prewarmed encoder pool schedule to be created
     * @throws {BitmovinError}
     * @memberof SchedulesApi
     */
    create(poolId: string, prewarmedEncoderPoolSchedule?: PrewarmedEncoderPoolSchedule): Promise<PrewarmedEncoderPoolSchedule>;
    /**
     * @summary Delete prewarmed encoder pool schedule
     * @param {string} poolId Id of the scheduled encoder pool
     * @param {string} scheduleId Id of the prewarmed encoder pool schedule
     * @throws {BitmovinError}
     * @memberof SchedulesApi
     */
    delete(poolId: string, scheduleId: string): Promise<BitmovinResponse>;
    /**
     * @summary Prewarmed encoder pool schedule details
     * @param {string} poolId Id of the scheduled encoder pool
     * @param {string} scheduleId Id of the prewarmed encoder pool schedule
     * @throws {BitmovinError}
     * @memberof SchedulesApi
     */
    get(poolId: string, scheduleId: string): Promise<PrewarmedEncoderPoolSchedule>;
    /**
     * @summary List prewarmed encoder pool schedules
     * @param {string} poolId Id of the scheduled encoder pool
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof SchedulesApi
     */
    list(poolId: string, queryParameters?: PrewarmedEncoderPoolScheduleListQueryParams | ((q: PrewarmedEncoderPoolScheduleListQueryParamsBuilder) => PrewarmedEncoderPoolScheduleListQueryParamsBuilder)): Promise<PaginationResponse<PrewarmedEncoderPoolSchedule>>;
}
