import { type CSSProperties, type HTMLAttributes, type ReactNode, type Ref } from 'react'; import { type CssLength } from '../../../utils/css'; import { type ScrollClockRailTimeFormat } from './ScrollClockRail.utils'; export type ScrollClockRailMarkerTone = 'day' | 'neutral' | 'night'; export type ScrollClockRailScrollTarget = 'page' | 'container'; export type ScrollClockRailMusicLabels = { next: string; pause: string; play: string; previous: string; showControls: string; }; export type ScrollClockRailThemeMarker = { id: string | number; icon?: ReactNode; label: string; active?: boolean; tone?: ScrollClockRailMarkerTone; }; export type ScrollClockRailMusic = { title: ReactNode; artist?: ReactNode; coverSrc?: string; coverAlt?: string; labels?: Partial; onNext?: () => void; onPlayPause?: () => void; onPrevious?: () => void; playing?: boolean; progress?: number; }; export type ScrollClockRailStyle = CSSProperties & Record<`--scroll-clock-rail-${string}`, string | number | undefined>; export type ScrollClockRailProps = Omit, 'children' | 'style'> & { children?: ReactNode; active?: boolean; compactHeight?: CssLength; compactWidth?: CssLength; contentClassName?: string; defaultMusicExpanded?: boolean; enabled?: boolean; endTime?: string; expandedHeight?: CssLength; expandedWidth?: CssLength; hideNativeScrollbar?: boolean; music?: ScrollClockRailMusic; musicExpanded?: boolean; nightAccentColor?: string; nightThreshold?: number; onMusicExpandedChange?: (expanded: boolean) => void; railOffset?: CssLength; ref?: Ref; scrollTarget?: ScrollClockRailScrollTarget; startTime?: string; style?: ScrollClockRailStyle; surface?: string; textColor?: string; themeMarkers?: readonly ScrollClockRailThemeMarker[]; timeFormat?: ScrollClockRailTimeFormat; viewportClassName?: string; viewportProps?: Omit, 'children'>; viewportRef?: Ref; }; declare const ScrollClockRail: ({ active, children, className, compactHeight, compactWidth, contentClassName, defaultMusicExpanded, enabled, endTime, expandedHeight, expandedWidth, hideNativeScrollbar, music, musicExpanded, nightAccentColor, nightThreshold, onBlur, onFocus, onMusicExpandedChange, onPointerEnter, onPointerLeave, railOffset, ref, scrollTarget, startTime, style, surface, textColor, themeMarkers, timeFormat, viewportClassName, viewportProps, viewportRef, ...props }: ScrollClockRailProps) => import("react/jsx-runtime").JSX.Element; export { ScrollClockRail };