/**
 * VideoPlayer — full public surface.
 *
 * Prefer importing through the subpath entry:
 *   `import { VideoPlayer } from '@djangocfg/ui-tools/video-player'`
 *
 * which routes through `lazy.tsx`. This `index.ts` is the underlying barrel.
 */

export { VideoPlayer } from './VideoPlayer';

export type {
  VideoPlayerProps,
  VideoPlayerSettings,
  VideoSource,
  UrlSource,
  YouTubeSource,
  VimeoSource,
  HlsSource,
  IframeSource,
  AspectRatioValue,
} from './types';

export { parseEmbedUrl } from './utils/parse-embed-url';
export { extractYouTubeId, parseYouTubeStartTime } from './utils/youtube-id';
export { extractVimeoId } from './utils/vimeo-id';

export {
  CanvasDispatcher,
  NativeCanvas,
  YouTubeCanvas,
  VimeoCanvas,
  HlsCanvas,
  IframeCanvas,
} from './canvas';
export type {
  CanvasDispatcherProps,
  NativeCanvasProps,
  YouTubeCanvasProps,
  VimeoCanvasProps,
  HlsCanvasProps,
  IframeCanvasProps,
} from './canvas';

export {
  PlayButton,
  SeekBar,
  Volume,
  Fullscreen,
  Pip,
  PlaybackRate,
  ControlsBar,
  Poster,
} from './parts';
export type {
  PlayButtonProps,
  SeekBarProps,
  VolumeProps,
  FullscreenProps,
  PipProps,
  PlaybackRateProps,
  ControlsBarProps,
} from './parts';
