import type { IVideoPlayer } from '../../../index.js'; /** * Subtitle style data. Lives here as plugin-domain data. The settings * menu calls `player.subtitleStyle?.(...)` so it no-ops gracefully when the * player doesn't implement it. */ export interface SubtitleStyle { fontSize: number; fontFamily: string; textColor: string; textOpacity: number; backgroundColor: string; backgroundOpacity: number; edgeStyle: 'none' | 'depressed' | 'dropShadow' | 'textShadow' | 'raised' | 'uniform'; areaColor: string; windowOpacity: number; } type NMPlayer = IVideoPlayer & { subtitleStyle?: (style: Partial) => void; }; export interface Icon { [key: string]: { classes: string[]; /** Filled variant. Omit when it equals `normal`; the renderer falls back to `normal`. */ hover?: string; normal: string; title: string; }; } /** * An object containing Fluent UI icon definitions. */ export declare const fluentIcons: { back: { classes: never[]; hover: string; normal: string; title: string; }; checkmark: { classes: never[]; normal: string; title: string; }; chevronL: { classes: never[]; hover: string; normal: string; title: string; }; chevronR: { classes: never[]; hover: string; normal: string; title: string; }; close: { classes: never[]; hover: string; normal: string; title: string; }; exitFullscreen: { classes: never[]; normal: string; title: string; }; fullscreen: { classes: never[]; hover: string; normal: string; title: string; }; home: { classes: never[]; hover: string; normal: string; title: string; }; language: { classes: never[]; hover: string; normal: string; title: string; }; languageOff: { classes: never[]; hover: string; normal: string; title: string; }; next: { classes: never[]; hover: string; normal: string; title: string; }; pause: { classes: never[]; hover: string; normal: string; title: string; }; pipEnter: { classes: never[]; hover: string; normal: string; title: string; }; pipExit: { classes: never[]; hover: string; normal: string; title: string; }; bigPlay: { classes: string[]; normal: string; title: string; }; play: { classes: never[]; hover: string; normal: string; title: string; }; playlist: { classes: never[]; hover: string; normal: string; title: string; }; previous: { classes: never[]; hover: string; normal: string; title: string; }; quality: { classes: never[]; hover: string; normal: string; title: string; }; seekBack: { classes: never[]; hover: string; normal: string; title: string; }; seekForward: { classes: never[]; hover: string; normal: string; title: string; }; settings: { classes: never[]; hover: string; normal: string; title: string; }; subtitleSettings: { classes: never[]; hover: string; normal: string; title: string; }; speed: { classes: never[]; hover: string; normal: string; title: string; }; subtitles: { classes: never[]; hover: string; normal: string; title: string; }; subtitlesOff: { classes: never[]; hover: string; normal: string; title: string; }; theater: { classes: never[]; hover: string; normal: string; title: string; }; theaterExit: { classes: never[]; hover: string; normal: string; title: string; }; volumeHigh: { classes: never[]; hover: string; normal: string; title: string; }; volumeLow: { classes: never[]; hover: string; normal: string; title: string; }; volumeMedium: { classes: never[]; hover: string; normal: string; title: string; }; volumeMuted: { classes: never[]; hover: string; normal: string; title: string; }; cast: { classes: never[]; hover: string; normal: string; title: string; }; aspectFit: { classes: never[]; hover: string; normal: string; title: string; }; aspectFill: { classes: never[]; hover: string; normal: string; title: string; }; aspectOriginal: { classes: never[]; hover: string; normal: string; title: string; }; share: { classes: never[]; hover: string; normal: string; title: string; }; menu: { classes: never[]; hover: string; normal: string; title: string; }; styled: { classes: never[]; hover: string; normal: string; title: string; }; restart: { classes: never[]; hover: string; normal: string; title: string; }; chapterBack: { classes: string[]; normal: string; title: string; }; chapterForward: { classes: string[]; normal: string; title: string; }; template: { classes: never[]; normal: string; title: string; }; }; /** Returns the full set of built-in button icons for the video player. */ export declare const buttons: () => Icon; export declare const EDGE_STYLE: { readonly NONE: "none"; readonly DEPRESSED: "depressed"; readonly DROP_SHADOW: "dropShadow"; readonly TEXT_SHADOW: "textShadow"; readonly RAISED: "raised"; readonly UNIFORM: "uniform"; }; export type EdgeStyle = typeof EDGE_STYLE[keyof typeof EDGE_STYLE]; export declare const edgeStyles: readonly { name: string; value: EdgeStyle; }[]; export declare const fontFamilies: readonly { name: string; value: string; }[]; export declare const defaultSubtitleStyles: SubtitleStyle; export interface SubtitleSettingAction { label: string; property: keyof SubtitleStyle | ''; value: string | number; action: () => void; } export declare const colors: { label: string; value: string; }[]; export declare const opacities: { label: string; value: number; }[]; export declare const textSizes: { label: string; value: number; }[]; export declare function subtitleSettingActions(player: NMPlayer): SubtitleSettingAction[]; export {};