import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import BitmovinResponse from '../../../../models/BitmovinResponse';
import SmoothManifestContentProtection from '../../../../models/SmoothManifestContentProtection';
import PaginationResponse from '../../../../models/PaginationResponse';
import { SmoothManifestContentProtectionListQueryParams, SmoothManifestContentProtectionListQueryParamsBuilder } from './SmoothManifestContentProtectionListQueryParams';
/**
 * ContentprotectionApi - object-oriented interface
 * @export
 * @class ContentprotectionApi
 * @extends {BaseAPI}
 */
export default class ContentprotectionApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add Content Protection to Smooth Streaming
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {SmoothManifestContentProtection} smoothManifestContentProtection The Content Protection to be added
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    create(manifestId: string, smoothManifestContentProtection?: SmoothManifestContentProtection): Promise<SmoothManifestContentProtection>;
    /**
     * @summary Delete Content Protection of Smooth Streaming
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {string} protectionId Id of the content protection.
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    delete(manifestId: string, protectionId: string): Promise<BitmovinResponse>;
    /**
     * @summary Content Protection of Smooth Streaming Representation Details
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {string} protectionId Id of the content protection.
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    get(manifestId: string, protectionId: string): Promise<SmoothManifestContentProtection>;
    /**
     * @summary List Content Protection of Smooth Streaming
     * @param {string} manifestId Id of the Smooth Streaming manifest.
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof ContentprotectionApi
     */
    list(manifestId: string, queryParameters?: SmoothManifestContentProtectionListQueryParams | ((q: SmoothManifestContentProtectionListQueryParamsBuilder) => SmoothManifestContentProtectionListQueryParamsBuilder)): Promise<PaginationResponse<SmoothManifestContentProtection>>;
}
