import { default as Hls, HlsConfig } from 'hls.js';
import { DefineComponent, Ref, ShallowRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function retry(): void;
declare function togglePlay(): void;
declare function seek(value: any): void;
declare function setVolume(value: any): void;
declare function toggleMute(): void;
declare function toggleFullscreen(): Promise<void>;
declare var __VLS_7: {
    error: any;
    retry: typeof retry;
}, __VLS_63: {
    playing: boolean;
    currentTime: number;
    duration: number;
    volume: number;
    muted: boolean;
    isFullscreen: boolean;
    live: boolean;
    error: any;
    retry: typeof retry;
    togglePlay: typeof togglePlay;
    toggleMute: typeof toggleMute;
    seek: typeof seek;
    setVolume: typeof setVolume;
    toggleFullscreen: typeof toggleFullscreen;
};
type __VLS_Slots = {} & {
    error?: (props: typeof __VLS_7) => any;
} & {
    controls?: (props: typeof __VLS_63) => any;
};
declare const _default: __VLS_WithSlots< DefineComponent<any, {
    videoRef: Ref<HTMLVideoElement | undefined, HTMLVideoElement | undefined>;
    hlsInstance: ShallowRef<Hls | null, Hls | null>;
    play: () => Promise<void> | undefined;
    pause: () => void | undefined;
    togglePlay: typeof togglePlay;
    seek: typeof seek;
    setVolume: typeof setVolume;
    toggleMute: typeof toggleMute;
    toggleFullscreen: typeof toggleFullscreen;
    retry: typeof retry;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    [x: string]: any;
} & {
    [x: string]: any;
}, string, PublicProps, any, {
    height: string | number;
    width: string | number;
    src: string;
    controls: boolean;
    live: boolean;
    autoplay: boolean;
    muted: boolean;
    poster: string;
    hlsConfig: Partial< HlsConfig>;
    errorDisplay: "all" | "fatal";
    defaultControls: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
