import type { Core } from '@openplayerjs/core'; import { DisposableStore, getOverlayManager, type OverlayState } from '@openplayerjs/core'; import type { Control } from '../control'; export type ControlPlacementV = 'top' | 'center' | 'bottom'; export type ControlPlacementH = 'left' | 'center' | 'right'; export type ControlPlacement = { v: ControlPlacementV; h: ControlPlacementH; }; export declare abstract class BaseControl implements Control { abstract id: string; abstract placement: Control['placement']; protected core: Core; protected overlayMgr: ReturnType; protected activeOverlay: OverlayState | null; protected dispose: DisposableStore; protected abstract build(): HTMLElement; protected onOverlayChanged(_ov: OverlayState | null): void; create(core: Core): HTMLElement; destroy(): void; protected onPlayer(event: any, cb: (...args: any[]) => void): import("@openplayerjs/core").Disposer; protected listen(target: EventTarget, type: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): import("@openplayerjs/core").Disposer; protected resolvePlayerRoot(): HTMLElement; protected resolveFullscreenContainer(): HTMLElement; protected resolveFullscreenVideoEl(): HTMLElement | null; } //# sourceMappingURL=base.d.ts.map