import Drm from './Drm';
import DrmType from './DrmType';
import SpekeDrmProvider from './SpekeDrmProvider';
/**
 * @export
 * @class SpekeDrm
 */
export declare class SpekeDrm extends Drm {
    /**
     * Discriminator property for Drm
     * @type {string}
     * @memberof SpekeDrm
     */
    readonly type: DrmType;
    /**
     * Unique Identifier of the content, will be generated if not set
     * @type {string}
     * @memberof SpekeDrm
     */
    contentId?: string;
    /**
     * Optional key identifier, will be generated if not set. For SPEKE DRM Configurations with the same contentId and kid the key provider will provide the same keys.
     * @type {string}
     * @memberof SpekeDrm
     */
    kid?: string;
    /**
     * 16 byte initialization vector represented by a 32-character text string. It is mandatory if systemIds contains AES128 or FairPlay.
     * @type {string}
     * @memberof SpekeDrm
     */
    iv?: string;
    /**
     * Key provider configuration for SPEKE (required)
     * @type {SpekeDrmProvider}
     * @memberof SpekeDrm
     */
    provider?: SpekeDrmProvider;
    /**
     * DRM system identifier of the content protection scheme. At minimum one is expected. Not all systemIds are currently supported, support depends on the muxing type.  Relates to SPEKE implementation. See https://dashif.org/identifiers/content_protection/ (required)
     * @type {string[]}
     * @memberof SpekeDrm
     */
    systemIds?: string[];
    constructor(obj?: Partial<SpekeDrm>);
}
export default SpekeDrm;
