import { BaseAPI } from '../../../../../../../../../common/BaseAPI';
import Configuration from '../../../../../../../../../common/Configuration';
import BitmovinResponse from '../../../../../../../../../models/BitmovinResponse';
import ContentProtection from '../../../../../../../../../models/ContentProtection';
import PaginationResponse from '../../../../../../../../../models/PaginationResponse';
import { ContentProtectionListQueryParams, ContentProtectionListQueryParamsBuilder } from './ContentProtectionListQueryParams';
/**
 * ContentprotectionApi - object-oriented interface
 * @export
 * @class ContentprotectionApi
 * @extends {BaseAPI}
 */
export default class ContentprotectionApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add Content Protection to DRM fMP4 Representation
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {string} representationId Id of the representation
     * @param {ContentProtection} contentProtection The content protection to be added to the DRM fMP4 representation
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    create(manifestId: string, periodId: string, adaptationsetId: string, representationId: string, contentProtection?: ContentProtection): Promise<ContentProtection>;
    /**
     * @summary Delete DRM fMP4 Representation Content Protection
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {string} representationId Id of the representation
     * @param {string} contentprotectionId Id of the DRM fMP4 content protection to be deleted
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    delete(manifestId: string, periodId: string, adaptationsetId: string, representationId: string, contentprotectionId: string): Promise<BitmovinResponse>;
    /**
     * @summary DRM fMP4 Representation Content Protection Details
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {string} representationId Id of the representation
     * @param {string} contentprotectionId Id of the DRM fMP4 content protection
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    get(manifestId: string, periodId: string, adaptationsetId: string, representationId: string, contentprotectionId: string): Promise<ContentProtection>;
    /**
     * @summary List all DRM fMP4 Representation Content Protections
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {string} representationId Id of the representation
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    list(manifestId: string, periodId: string, adaptationsetId: string, representationId: string, queryParameters?: ContentProtectionListQueryParams | ((q: ContentProtectionListQueryParamsBuilder) => ContentProtectionListQueryParamsBuilder)): Promise<PaginationResponse<ContentProtection>>;
}
