import type { InjectionKey } from 'vue'; export declare type VideoPresetControl = 'play' | 'play-prev' | 'play-next' | 'refresh' | 'timer' | 'playback-rate' | 'flip' | 'volume' | 'pip' | 'full-window' | 'full-browser'; export declare type VideoShortcutOptions = Partial>; export declare type VideoControlName = VideoPresetControl | (string & {}); export declare type VideoControlConfig = VideoControlName | [VideoControlName, any]; export interface VideoControlLayout { left?: VideoControlConfig[]; center?: VideoControlConfig[]; right?: VideoControlConfig[]; } export interface VideoPlaybackRate { label?: string; value: number; } export declare type VideoControlType = 'button' | 'select' | 'panel'; export interface VideoControlOption { value: string | number; label?: string; selectedLabel?: string; disabled?: boolean; divided?: boolean; title?: string; } export interface VideoSegment { time: number; title?: string; } export interface VideoState { placeId?: string; iconScale: number; addShortcut: (key: string, cb: () => void) => () => void; } export declare const videoDefaultControlLayout: Readonly>; export declare const videoDefaultShortcuts: Readonly<{ play: "Space"; 'play-prev': "PageUp"; 'play-next': "PageDown"; refresh: "R"; flip: "C"; volume: "M"; pip: "P"; 'full-window': "G"; 'full-browser': "F"; }>; export declare const VIDEO_STATE: InjectionKey; export declare const localeVideo: { play: string; pause: string; playPrev: string; playNext: string; refresh: string; flip: string; requestPip: string; exitPip: string; fullWindow: string; fullWindowExit: string; fullScreen: string; fullScreenExit: string; chapterCount: string; }; /** * 根据一系列判断条件,执行第一个为 `true` 的条件所对应的回调函数 * * @param conditions 判断条件及回调函数 * @param options 额外的选项 * * @returns 是否匹配了任一条件 */ export declare function decide(conditions: [boolean | (() => boolean), () => void | Promise][], options?: { /** * 当匹配任意一个条件时,会在该条件对应的回调函数执行前执行 */ beforeMatchAny?: () => void | Promise; /** * 当匹配任意一个条件时,会在该条件对应的回调函数执行完后执行 */ afterMatchAny?: () => void | Promise; }): Promise;