import { ExtractPropTypes, PropType } from 'vue';
import { FullScreenType } from '../full-screen';
import { ConfigurableProps } from '@vexip-ui/config';
import { VideoControlLayout, VideoControlOption, VideoPlaybackRate, VideoSegment, VideoShortcutOptions, VideoSlots } from './symbol';
export declare const videoProps: {
    inherit: PropType<boolean>;
    src: PropType<string>;
    srcList: PropType<string[]>;
    noControls: PropType<boolean>;
    videoAttrs: PropType<any>;
    time: PropType<number>;
    volume: PropType<number>;
    playbackRate: PropType<number>;
    playbackRates: PropType<(number | VideoPlaybackRate)[]>;
    controlLayout: PropType<VideoControlLayout>;
    poster: PropType<string>;
    video: PropType<HTMLVideoElement>;
    segments: PropType<(number | VideoSegment)[]>;
    loading: PropType<boolean>;
    loadingIcon: PropType<any>;
    loadingEffect: PropType<string>;
    shortcuts: PropType<VideoShortcutOptions>;
    slots: PropType<VideoSlots>;
    onPlay: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onPause: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onEnded: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onTimeChange: PropType<((time: number) => void) | ((time: number) => void)[]>;
    onVolumeChange: PropType<((volume: number) => void) | ((volume: number) => void)[]>;
    onRateChange: PropType<((rate: number) => void) | ((rate: number) => void)[]>;
    onToggleFlip: PropType<((flip: boolean) => void) | ((flip: boolean) => void)[]>;
    onTogglePip: PropType<((pip: boolean) => void) | ((pip: boolean) => void)[]>;
    onToggleFull: PropType<((full: false | FullScreenType) => void) | ((full: false | FullScreenType) => void)[]>;
    onPrev: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onNext: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onRefresh: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
};
export type VideoProps = ExtractPropTypes<typeof videoProps>;
export type VideoCProps = ConfigurableProps<ExtractPropTypes<typeof videoProps>>;
export declare const videoControlProps: {
    inherit: PropType<boolean>;
    type: PropType<"select" | "button" | "panel">;
    label: PropType<string>;
    tipClass: PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
    disabled: PropType<boolean>;
    shortcut: PropType<string>;
    focusable: PropType<boolean>;
    value: PropType<string | number>;
    options: PropType<(string | VideoControlOption)[]>;
    onClick: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onEnter: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onLeave: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onFocus: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
    onBlur: PropType<((event: FocusEvent) => void) | ((event: FocusEvent) => void)[]>;
    onSelect: PropType<((option: VideoControlOption) => void) | ((option: VideoControlOption) => void)[]>;
};
export type VideoControlProps = ExtractPropTypes<typeof videoControlProps>;
export type VideoControlCProps = ConfigurableProps<ExtractPropTypes<typeof videoControlProps>>;
