import type { ReactNode } from 'react';
import { SxProps, Theme } from '@mui/material';
export interface VideoQualityOption {
    value: string;
    label: string;
    stream?: MediaStream | null;
    src?: string;
}
export interface VideoPlayerProps {
    stream?: MediaStream | null;
    availableQualities?: VideoQualityOption[];
    initialQuality?: string;
    onQualityChange?: (quality: VideoQualityOption | null) => void;
    autoPlay?: boolean;
    playsInline?: boolean;
    muted?: boolean;
    poster?: string;
    className?: string;
    sx?: SxProps<Theme>;
    liveThresholdSeconds?: number;
    allowPlaybackRateForStream?: boolean;
    playbackRates?: number[];
    zoomLevels?: number[];
    width?: string | number;
    height?: string | number;
    aspectRatio?: string;
    showTimestamp?: boolean;
    showTimeline?: boolean;
    isRecording?: boolean;
    recordingLabel?: string;
    onGoLive?: () => void;
    borderRadius?: number | string;
    loading?: boolean;
    unavailable?: boolean;
    unavailableIcon?: ReactNode;
    unavailableMessage?: ReactNode;
    showSeekButtons?: boolean;
    showPlaybackRate?: boolean;
    noControl?: boolean;
    noBorderRadius?: boolean;
    showLiveButton?: boolean;
    showWatermark?: boolean;
    startTimeSeconds?: number;
    preload?: 'auto' | 'metadata' | 'none';
}
