import { BaseAPI } from '../../../../../common/BaseAPI';
import Configuration from '../../../../../common/Configuration';
import BitmovinResponse from '../../../../../models/BitmovinResponse';
import SmoothStreamingRepresentation from '../../../../../models/SmoothStreamingRepresentation';
import PaginationResponse from '../../../../../models/PaginationResponse';
import { SmoothStreamingRepresentationListQueryParams, SmoothStreamingRepresentationListQueryParamsBuilder } from './SmoothStreamingRepresentationListQueryParams';
/**
 * Mp4Api - object-oriented interface
 * @export
 * @class Mp4Api
 * @extends {BaseAPI}
 */
export default class Mp4Api extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add MP4 Representation to Smooth Streaming Manifest
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {SmoothStreamingRepresentation} smoothStreamingRepresentation The MP4 Representation to be added
     * @throws {BitmovinError}
     * @memberof Mp4Api
     */
    create(manifestId: string, smoothStreamingRepresentation?: SmoothStreamingRepresentation): Promise<SmoothStreamingRepresentation>;
    /**
     * @summary Delete Smooth Streaming MP4 Representation
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {string} representationId Id of the MP4 representation.
     * @throws {BitmovinError}
     * @memberof Mp4Api
     */
    delete(manifestId: string, representationId: string): Promise<BitmovinResponse>;
    /**
     * @summary Smooth Streaming MP4 Representation Details
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {string} representationId Id of the MP4 representation.
     * @throws {BitmovinError}
     * @memberof Mp4Api
     */
    get(manifestId: string, representationId: string): Promise<SmoothStreamingRepresentation>;
    /**
     * @summary List MP4 Representation
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof Mp4Api
     */
    list(manifestId: string, queryParameters?: SmoothStreamingRepresentationListQueryParams | ((q: SmoothStreamingRepresentationListQueryParamsBuilder) => SmoothStreamingRepresentationListQueryParamsBuilder)): Promise<PaginationResponse<SmoothStreamingRepresentation>>;
}
