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