/**
 * <fw-player> — Main player web component.
 * Port of Player.tsx / PlayerInner from player-react.
 */
import { LitElement, type PropertyValues } from "lit";
import { PlayerControllerHost } from "../controllers/player-controller-host.js";
import type { ContentEndpoints, PlaybackMode, FwThemePreset, FwThemeOverrides, FwLocale, TranslationStrings } from "@livepeer-frameworks/player-core";
export declare class FwPlayer extends LitElement {
    contentId: string;
    contentType?: "live" | "dvr" | "clip" | "vod";
    gatewayUrl?: string;
    mistUrl?: string;
    authToken?: string;
    playbackToken?: string;
    playbackTokenTransport?: "query" | "header";
    autoplay: boolean;
    muted: boolean;
    controls: boolean;
    noControls: boolean;
    stockControls: boolean;
    nativeControls: boolean;
    animatePreroll: boolean;
    debug: boolean;
    devMode: boolean;
    thumbnailUrl?: string;
    playbackMode: PlaybackMode;
    forcePlayer?: string;
    forceType?: string;
    forceSource?: number;
    theme?: FwThemePreset;
    themeOverrides?: FwThemeOverrides;
    locale?: FwLocale;
    translations?: Partial<TranslationStrings>;
    endpoints?: ContentEndpoints;
    private _isStatsOpen;
    private _isDevPanelOpen;
    private _skipDirection;
    private _contextMenuOpen;
    private _contextMenuMounted;
    private _displayedError;
    private _displayedIsPassive;
    private _isErrorDismissing;
    private _errorDismissTimer;
    private _contextMenuState;
    private _contextMenuSide;
    private _contextMenuX;
    private _contextMenuY;
    private _containerEl;
    pc: PlayerControllerHost;
    static styles: import("lit").CSSResult[];
    protected willUpdate(changed: PropertyValues): void;
    protected firstUpdated(): void;
    disconnectedCallback(): void;
    private _contextMenuCloseTimer?;
    private _contextMenuTypeahead;
    private _contextMenuTypeaheadTimer?;
    private _resetContextMenuTypeahead;
    private _resolveContextMenuSide;
    private _closeContextMenu;
    private _getQueryRoot;
    private _getContextMenuElement;
    private _getContextMenuBounds;
    private _toLocalContextMenuPoint;
    private _getContextMenuItems;
    private _focusFirstContextMenuItem;
    private _clampContextMenuPosition;
    private _syncContextMenuPosition;
    private _openContextMenu;
    private _handleContextMenu;
    private _handleContextMenuShortcut;
    private _handleDocumentPointerDown;
    private _handleDocumentContextMenu;
    private _handleDocumentKeyDown;
    private _handleContextMenuKeyDown;
    private _toastTimer?;
    protected updated(changed: PropertyValues): void;
    private get _showTitleOverlay();
    private get _showBufferingSpinner();
    private get _showWaitingForEndpoint();
    private get _showLoadingPosterOverlay();
    private get _waitingMessage();
    private get _controlsEnabled();
    private get _useStockControls();
    /** Expose the PlayerControllerHost for composable controls */
    get controller(): PlayerControllerHost;
    play(): Promise<void>;
    pause(): void;
    togglePlay(): void;
    seek(time: number): void;
    seekBy(delta: number): void;
    jumpToLive(): void;
    setVolume(volume: number): void;
    toggleMute(): void;
    toggleLoop(): void;
    toggleFullscreen(): Promise<void>;
    togglePiP(): Promise<void>;
    toggleSubtitles(): void;
    retry(): Promise<void>;
    reload(): Promise<void>;
    getQualities(): {
        id: string;
        label: string;
        bitrate?: number;
        width?: number;
        height?: number;
        isAuto?: boolean;
        active?: boolean;
    }[];
    selectQuality(id: string): void;
    destroy(): void;
    protected render(): import("lit").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        "fw-player": FwPlayer;
    }
}
