import type { Constructor, IMediaDisplay, IMediaEngine, IMediaEngineStatic } from './types.js'; type Preload = 'none' | 'metadata' | 'auto'; export type MediaRendererConfig = { audio?: boolean; maxResolution?: string; preload?: Preload; debug?: boolean; }; export type MediaRendererEngineConfig = { audio?: boolean; maxResolution?: string; maxBufferLength?: number; }; export declare function MediaRendererMixin, C extends MediaRendererConfig>(Base: B, Engine: IMediaEngineStatic): { new (...args: any[]): { #display?: IMediaDisplay; #engine?: IMediaEngine; #src: string; #config: C; #loadRequested?: Promise | null; get display(): IMediaDisplay | undefined; set display(display: IMediaDisplay | undefined); get src(): string; set src(src: string); get config(): C; set config(config: C); #requestLoad(): Promise; destroy(): void; load(): void; #loadSource: () => void; #setMaxBufferLength: () => void; addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean): void; dispatchEvent(event: Event): boolean; removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; }; } & B; export {};