import BaseFoundation, { DefaultAdapter } from '../base/foundation'; export interface MarkerListItem { start: number; end: number; title: string; width: string; left: string; } export interface Marker { start: number; title: string; } export interface VideoProgressAdapter

, S = Record> extends DefaultAdapter { getSliderRef: () => HTMLDivElement | null; getMarkersList: () => MarkerListItem[]; setIsDragging: (isDragging: boolean) => void; setIsHandleHovering: (isHandleHovering: boolean) => void; setActiveIndex: (activeIndex: number) => void; setMovingInfo: (movingInfo: { progress: number; offset: number; value: number; } | null) => void; } export default class VideoProgressFoundation

, S = Record> extends BaseFoundation, P, S> { constructor(adapter: VideoProgressAdapter); handleDocumentMouseMove: (e: MouseEvent) => void; handleDocumentMouseUp: () => void; handleMouseDown: (e: any) => void; handleMouseUp: () => void; handleMouseEvent: (e: any, shouldSetValue?: boolean) => void; handleSliderMouseEnter: (index: number) => void; handleSliderMouseLeave: (index: number) => void; setActiveIndex: (currentValue: number) => void; getValueWidth: (marker: MarkerListItem, value: number) => string; getPlayedWidth: (marker: MarkerListItem) => string; getLoadedWidth: (marker: MarkerListItem) => string; }