import { BaseAPI } from '../../../../../../../../common/BaseAPI';
import Configuration from '../../../../../../../../common/Configuration';
import BitmovinResponse from '../../../../../../../../models/BitmovinResponse';
import DashMp4DrmRepresentation from '../../../../../../../../models/DashMp4DrmRepresentation';
import PaginationResponse from '../../../../../../../../models/PaginationResponse';
import { DashMp4DrmRepresentationListQueryParams, DashMp4DrmRepresentationListQueryParamsBuilder } from './DashMp4DrmRepresentationListQueryParams';
/**
 * DrmApi - object-oriented interface
 * @export
 * @class DrmApi
 * @extends {BaseAPI}
 */
export default class DrmApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add DRM MP4 Representation
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {DashMp4DrmRepresentation} dashMp4DrmRepresentation The DRM MP4 representation to be added to the adaptation set
     * @throws {BitmovinError}
     * @memberof DrmApi
     */
    create(manifestId: string, periodId: string, adaptationsetId: string, dashMp4DrmRepresentation?: DashMp4DrmRepresentation): Promise<DashMp4DrmRepresentation>;
    /**
     * @summary Delete DRM MP4 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 DRM MP4 representation to be deleted
     * @throws {BitmovinError}
     * @memberof DrmApi
     */
    delete(manifestId: string, periodId: string, adaptationsetId: string, representationId: string): Promise<BitmovinResponse>;
    /**
     * @summary DRM MP4 Representation 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
     * @throws {BitmovinError}
     * @memberof DrmApi
     */
    get(manifestId: string, periodId: string, adaptationsetId: string, representationId: string): Promise<DashMp4DrmRepresentation>;
    /**
     * @summary List all DRM MP4 Representations
     * @param {string} manifestId Id of the manifest
     * @param {string} periodId Id of the period
     * @param {string} adaptationsetId Id of the adaptation set
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof DrmApi
     */
    list(manifestId: string, periodId: string, adaptationsetId: string, queryParameters?: DashMp4DrmRepresentationListQueryParams | ((q: DashMp4DrmRepresentationListQueryParamsBuilder) => DashMp4DrmRepresentationListQueryParamsBuilder)): Promise<PaginationResponse<DashMp4DrmRepresentation>>;
}
