import { ExtendedDRMConfig, DRMInitResult } from '../types/DRMTypes';
export declare abstract class BaseDRM {
    protected video: HTMLVideoElement;
    protected config: ExtendedDRMConfig;
    protected debug: boolean;
    constructor(video: HTMLVideoElement, config: ExtendedDRMConfig, debug?: boolean);
    abstract initialize(): Promise<DRMInitResult>;
    abstract destroy(): Promise<void>;
    abstract getKeySystem(): string;
    getHLSConfig(): Record<string, any>;
    getDashProtectionData(): Record<string, any>;
    protected log(...args: any[]): void;
    protected requestLicense(url: string, body: ArrayBuffer, headers?: Record<string, string>): Promise<ArrayBuffer>;
}
//# sourceMappingURL=BaseDRM.d.ts.map