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