/// import { IconButtonProps } from '../icon-button/types'; import { AudioPlayerVolumeControlOverridesProps, AudioPlayerVolumeControlProps } from './components/volume-control/types'; import { AudioPlayerForwardButtonProps } from './components/forward-button/types'; import { AudioPlayerPlayPauseButtonProps } from './components/play-pause-button/types'; import { AudioPlayerReplayButtonProps } from './components/replay-button/types'; import { AudioPlayerSkipNextButtonProps } from './components/skip-next-button/types'; import { AudioPlayerSkipPreviousButtonProps } from './components/skip-previous-button/types'; import { AudioPlayerTimeFormatFn } from './components/time-display/types'; import { AudioPlayerPlaybackSpeedControlOverridesProps, AudioPlayerPlaybackSpeedControlProps } from './components/playback-speed-control/types'; import { MQ } from '../utils'; import { ButtonSize } from '../button/types'; export interface HlsInstance { resumeBuffering: () => void; pauseBuffering: () => void; destroy: () => void; stopLoad: () => void; detachMedia: () => void; } export interface AudioFunctionDependencies { autoPlay: boolean; src: string; live: NonNullable; loading: boolean; duration: number; playing: boolean; isHlsStream: boolean; hlsInstance: React.RefObject; showLoaderTimeoutRef: React.MutableRefObject; currentTimeRef: React.MutableRefObject; audioRef: React.RefObject; setLoading: React.Dispatch>; setCurrentTime: React.Dispatch>; setPlayState: React.Dispatch>; setVolume: React.Dispatch>; setPlaybackSpeed: React.Dispatch>; setDuration: React.Dispatch>; setDisplayDuration: React.Dispatch>; setBuffered: React.Dispatch>; } export interface AudioPlayerProviderContext { id: string; playing: boolean; canPause: boolean; loading: boolean; audioRef: React.RefObject; audioSectionRef: React.RefObject; togglePlay: () => void; getPlayPauseButtonProps: (props: AudioPlayerPlayPauseButtonProps) => IconButtonProps & { playing: boolean; canPause: boolean; }; getTimeDisplayProps: () => { format: AudioPlayerTimeFormatFn; currentTime: number; duration: number; }; getSeekBarProps: () => { duration: number; currentTime: number; onChange: (value: number) => void; buffered: TimeRanges | undefined; }; getVolumeControlProps: (props: AudioPlayerVolumeControlProps) => { overrides: AudioPlayerVolumeControlOverridesProps; keyboardShortcuts?: { muteToggle: string | string[]; }; layout?: 'collapsed' | 'vertical' | 'horizontal' | 'horizontal-expanded'; onChange: (value: number) => void; volume: number; initialVolume: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1; muteButtonSize?: ButtonSize; }; getPlaybackSpeedControlProps: (props: AudioPlayerPlaybackSpeedControlProps) => { overrides: AudioPlayerPlaybackSpeedControlOverridesProps; onChange: (value: number) => void; useModal: MQ; playbackSpeed: number; buttonSize?: ButtonSize; }; getSkipPreviousButtonProps: (props: AudioPlayerSkipPreviousButtonProps) => IconButtonProps; getSkipNextButtonProps: (props: AudioPlayerSkipNextButtonProps) => IconButtonProps; getForwardButtonProps: (props: AudioPlayerForwardButtonProps) => IconButtonProps; getReplayButtonProps: (props: AudioPlayerReplayButtonProps) => IconButtonProps; } export interface AudioElementProps extends Omit, 'controls'> { audioRef?: React.RefObject; isHlsStream?: boolean; } export interface AudioPlayerComposableProps extends Omit, 'controls'> { children: React.ReactNode; live?: boolean; autoPlay?: boolean; src: string; ariaLandmark?: string; keyboardShortcuts?: { jumpToStart: string | string[]; jumpToEnd: string | string[]; }; initialVolume?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1; initialTime?: number; } export declare enum AudioEvents { Play = "onPlay", Pause = "onPause", Waiting = "onWaiting", CanPlay = "onCanPlay", Ended = "onEnded", VolumeChange = "onVolumeChange", DurationChange = "onDurationChange", TimeUpdate = "onTimeUpdate", Progress = "onProgress" } //# sourceMappingURL=types.d.ts.map