import { Theme } from '@mui/material/styles'; import { FC, ReactNode } from 'react'; import { MediaStore } from '../../store/media-store'; import { Highlight, MediaType } from '../../types'; import { BlendColors } from '../../utils/colors'; import { CorePlayerInitialState } from './types'; export interface CorePlayerProps { /** The url of the media file to be played */ url: string; /** CSS class name applied to component */ className?: string; /** A MUI theme to control the stylization of the player . */ theme?: Theme; /** Highlights to be displayed in the scrub bar */ highlights?: Highlight[]; /** Blend highlights colors in the scrub bar */ getHighlightColorBlended?: BlendColors; /** Callback for media store update */ onStoreUpdate?: (store: MediaStore) => void; /** `CorePlayer` initial state */ initialState?: CorePlayerInitialState; children: ReactNode; /** Trigger points (in sec) when an alert event is emitted */ alarms?: number[]; /** URL to image that is displayed in PIP player for audio files */ audioPlaceholder?: string; /** Url file type */ mediaType?: MediaType; /** Builds UI for the PIP Player */ PIPControls?: FC; /** Distance from window border right, on X axis in `pixels`, for PIP player position initialization */ xAxisDistance?: number; /** Distance from window border bottom, on Y axis in `pixels`, for PIP player position initialization */ yAxisDistance?: number; /**