import { Subtitle } from './components/Subtitle'; import { ICONS_MAP } from './functions/icons'; import type { PartialRequired, Player } from '@nusaplayer/core'; import type { Highlight, MenuBar, NoticePosition, Setting, Thumbnails, ToastApi, UiConfig, UIInterface } from './types'; declare class UI implements UIInterface { key: string; version: string; name: string; player: Player; $root: HTMLDivElement; $coverButton?: HTMLDivElement; $controllerBar?: HTMLDivElement | undefined; $controllerBottom: HTMLDivElement; $mask: HTMLDivElement; $setting: HTMLDivElement; $subtitle: HTMLDivElement; icons: typeof ICONS_MAP; subtitle: Subtitle; notice: (text: string, position?: NoticePosition, id?: string) => void; toast: ToastApi; keyboard: { register: (payload: Record void>) => void; unregister: (keys: string[]) => void; }; setting: { register: (payload: Setting | Setting[]) => void; unregister: (key: string) => void; updateLabel: (key: string, text: string) => void; select: (key: string, value: boolean | number, shouldBeCallFn?: Boolean) => void; }; menu: { register: (menu: MenuBar | MenuBar[]) => void; unregister: (key: string) => void; select: (name: string, index: number, shouldBeCallFn?: Boolean) => void; updateLabel: (key: string, text: string) => void; }; toggleController: () => void; changHighlightSource: (highlights: Highlight[]) => void; changThumbnails: (src: Thumbnails) => void; progressHoverCallback: ((rate?: number /** 0 ~ 1 */) => void)[]; config: PartialRequired; constructor(config: UiConfig); apply(player: Player): this | undefined; destroy(): void; } export default function create(config?: UiConfig): UI; export * from './types'; //# sourceMappingURL=index.d.ts.map