import { BaseAPI } from '../../../../../common/BaseAPI';
import Configuration from '../../../../../common/Configuration';
import BitmovinResponse from '../../../../../models/BitmovinResponse';
import TimeBasedTrimmingInputStream from '../../../../../models/TimeBasedTrimmingInputStream';
import PaginationResponse from '../../../../../models/PaginationResponse';
import { TimeBasedTrimmingInputStreamListQueryParams, TimeBasedTrimmingInputStreamListQueryParamsBuilder } from './TimeBasedTrimmingInputStreamListQueryParams';
/**
 * TimeBasedApi - object-oriented interface
 * @export
 * @class TimeBasedApi
 * @extends {BaseAPI}
 */
export default class TimeBasedApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add Time-Based Trimming Input Stream
     * @param {string} encodingId Id of the encoding.
     * @param {TimeBasedTrimmingInputStream} timeBasedTrimmingInputStream The Time-Based Trimming Input Stream to be created
     * @throws {BitmovinError}
     * @memberof TimeBasedApi
     */
    create(encodingId: string, timeBasedTrimmingInputStream?: TimeBasedTrimmingInputStream): Promise<TimeBasedTrimmingInputStream>;
    /**
     * @summary Delete Time-Based Trimming Input Stream
     * @param {string} encodingId Id of the encoding.
     * @param {string} inputStreamId Id of the Time-Based Trimming Input Stream.
     * @throws {BitmovinError}
     * @memberof TimeBasedApi
     */
    delete(encodingId: string, inputStreamId: string): Promise<BitmovinResponse>;
    /**
     * @summary Time-Based Trimming Input Stream Details
     * @param {string} encodingId Id of the encoding.
     * @param {string} inputStreamId Id of the Time-Based Trimming Input Stream.
     * @throws {BitmovinError}
     * @memberof TimeBasedApi
     */
    get(encodingId: string, inputStreamId: string): Promise<TimeBasedTrimmingInputStream>;
    /**
     * @summary List Time-Based Trimming Input Streams
     * @param {string} encodingId Id of the encoding.
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof TimeBasedApi
     */
    list(encodingId: string, queryParameters?: TimeBasedTrimmingInputStreamListQueryParams | ((q: TimeBasedTrimmingInputStreamListQueryParamsBuilder) => TimeBasedTrimmingInputStreamListQueryParamsBuilder)): Promise<PaginationResponse<TimeBasedTrimmingInputStream>>;
}
