@plutotcool/vue-freecaster
Version:
Freecaster video player integration for vue
181 lines (179 loc) • 6.88 kB
TypeScript
/**
* @module <FreecasterPlayer/>
*/
import { Player, PlayerOptions, PlayerEvents } from '../types/Player';
export interface FreecasterPlayerProps extends PlayerOptions {
enabled?: boolean;
}
export interface FreecasterPlayerSlots {
default(props: {
player: Player | undefined;
paused: boolean;
muted: boolean;
fullscreen: boolean;
currentTime: number;
volume: number;
readyState: number;
currentSubtitles: TextTrack | undefined;
subtitles: TextTrack[];
}): any;
}
export type FreecasterPlayerEmits = PlayerEvents;
declare let __VLS_typeProps: FreecasterPlayerProps;
type __VLS_PublicProps = {
modelValue?: Player;
'paused'?: boolean;
'muted'?: boolean;
'fullscreen'?: boolean;
'volume'?: number;
'currentTime'?: number;
'readyState'?: number;
'currentSubtitles'?: TextTrack;
'subtitles'?: TextTrack[];
} & typeof __VLS_typeProps;
declare function __VLS_template(): {
slots: Readonly<FreecasterPlayerSlots> & FreecasterPlayerSlots;
refs: {
element: HTMLDivElement;
};
attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
player: import('vue').ModelRef<Player, string, Player, Player>;
paused: import('vue').ModelRef<boolean, string, boolean, boolean>;
muted: import('vue').ModelRef<boolean, string, boolean, boolean>;
fullscreen: import('vue').ModelRef<boolean, string, boolean, boolean>;
volume: import('vue').ModelRef<number, string, number, number>;
currentTime: import('vue').ModelRef<number, string, number, number>;
readyState: import('vue').ModelRef<number, string, number, number>;
currentSubtitles: import('vue').ModelRef<TextTrack, string, TextTrack, TextTrack>;
subtitles: import('vue').ModelRef<TextTrack[], string, TextTrack[], TextTrack[]>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
abort: (event: Event) => any;
canplay: (event: Event) => any;
canplaythrough: (event: Event) => any;
durationchange: (event: Event) => any;
emptied: (event: Event) => any;
encrypted: (event: Event) => any;
ended: (event: Event) => any;
error: (event: Event) => any;
load: (event: Event) => any;
loadeddata: (event: Event) => any;
loadedmetadata: (event: Event) => any;
loadstart: (event: Event) => any;
pause: (event: Event) => any;
play: (event: Event) => any;
playing: (event: Event) => any;
progress: (event: Event) => any;
ratechange: (event: Event) => any;
seeked: (event: Event) => any;
seeking: (event: Event) => any;
stalled: (event: Event) => any;
suspend: (event: Event) => any;
timeupdate: (event: Event) => any;
volumechange: (event: Event) => any;
waiting: (event: Event) => any;
waitingforkey: (event: Event) => any;
enterpictureinpicture: (event: PictureInPictureEvent) => any;
leavepictureinpicture: (event: PictureInPictureEvent) => any;
resize: (event: Event) => any;
fullscreenenter: () => any;
fullscreenexit: () => any;
viewenter: () => any;
viewleave: () => any;
fcplayerDestroy: () => any;
fcplayerSrcChanged: (event: {
src: any;
}) => any;
fcplayerConfigChanged: (event: {
key: string;
value: any;
} | {
changes: {
[key: string]: any;
};
}) => any;
fcplayerCountdownTick: (event: {
remaining: number;
}) => any;
fcplayerCountdownEnabled: () => any;
fcplayerCountdownDisabled: () => any;
fcplayerCountdownZero: () => any;
"update:modelValue": (modelValue: Player) => any;
"update:paused": (paused: boolean) => any;
"update:muted": (muted: boolean) => any;
"update:fullscreen": (fullscreen: boolean) => any;
"update:volume": (volume: number) => any;
"update:currentTime": (currentTime: number) => any;
"update:readyState": (readyState: number) => any;
"update:currentSubtitles": (currentSubtitles: TextTrack) => any;
"update:subtitles": (subtitles: TextTrack[]) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
onAbort?: (event: Event) => any;
onCanplay?: (event: Event) => any;
onCanplaythrough?: (event: Event) => any;
onDurationchange?: (event: Event) => any;
onEmptied?: (event: Event) => any;
onEncrypted?: (event: Event) => any;
onEnded?: (event: Event) => any;
onError?: (event: Event) => any;
onLoad?: (event: Event) => any;
onLoadeddata?: (event: Event) => any;
onLoadedmetadata?: (event: Event) => any;
onLoadstart?: (event: Event) => any;
onPause?: (event: Event) => any;
onPlay?: (event: Event) => any;
onPlaying?: (event: Event) => any;
onProgress?: (event: Event) => any;
onRatechange?: (event: Event) => any;
onSeeked?: (event: Event) => any;
onSeeking?: (event: Event) => any;
onStalled?: (event: Event) => any;
onSuspend?: (event: Event) => any;
onTimeupdate?: (event: Event) => any;
onVolumechange?: (event: Event) => any;
onWaiting?: (event: Event) => any;
onWaitingforkey?: (event: Event) => any;
onEnterpictureinpicture?: (event: PictureInPictureEvent) => any;
onLeavepictureinpicture?: (event: PictureInPictureEvent) => any;
onResize?: (event: Event) => any;
onFullscreenenter?: () => any;
onFullscreenexit?: () => any;
onViewenter?: () => any;
onViewleave?: () => any;
onFcplayerDestroy?: () => any;
onFcplayerSrcChanged?: (event: {
src: any;
}) => any;
onFcplayerConfigChanged?: (event: {
key: string;
value: any;
} | {
changes: {
[key: string]: any;
};
}) => any;
onFcplayerCountdownTick?: (event: {
remaining: number;
}) => any;
onFcplayerCountdownEnabled?: () => any;
onFcplayerCountdownDisabled?: () => any;
onFcplayerCountdownZero?: () => any;
"onUpdate:modelValue"?: (modelValue: Player) => any;
"onUpdate:paused"?: (paused: boolean) => any;
"onUpdate:muted"?: (muted: boolean) => any;
"onUpdate:fullscreen"?: (fullscreen: boolean) => any;
"onUpdate:volume"?: (volume: number) => any;
"onUpdate:currentTime"?: (currentTime: number) => any;
"onUpdate:readyState"?: (readyState: number) => any;
"onUpdate:currentSubtitles"?: (currentSubtitles: TextTrack) => any;
"onUpdate:subtitles"?: (subtitles: TextTrack[]) => any;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};