import 'd3-transition'; import { type TimelineConfigInterface } from './config'; import { defaultDateFormat } from './format'; import { DisplayStateManager } from '../_abstract/display-state-manager'; import type { TimelineBarData } from './types'; /** * A timeline component that shows data distribution over time or numeric range. * It provides an interface for selecting a range within the data. */ export declare class Timeline extends DisplayStateManager { private _config; private _animationInterval; private _isAnimationRunning; private _svgParser; private _svg; private _animationControlDiv; private _playButtonSvg; private _pauseButtonSvg; private _containerNode; private _axisGroup; private _barsGroup; private _brushGroup; private _highlightedBarsGroup; private _resizeObserver; private _height; private _width; private _timelineWidth; private _timelineHeight; private _barWidth; private _maxCount; private _barsData; private _highlightedBarsData; private _highlightedData?; private _timeData?; private _extent?; private _bandIntervals; private _currentSelection?; private _currentSelectionInPixels?; private _isNumericTimeline; private _firstRender; private _yScale; private _timeScale; private _numScale; private _activeAxisScale; private _timeAxis; private _numAxis; private _brushInstance; constructor(containerNode: HTMLElement, config?: TimelineConfigInterface); private _initializeSVG; private _initAnimationControls; setLoadingState(): void; private _initializeGroups; private get _barPadding(); getCurrentSelection(): [Date, Date] | [number, number] | undefined; getCurrentSelectionInPixels(): [number, number] | undefined; getBarWidth(): number; getConfig(): TimelineConfigInterface; getIsAnimationRunning(): boolean; setConfig(config?: TimelineConfigInterface): void; private _checkFormatter; private _parseData; setTimeData(data: number[] | Date[] | undefined, customExtent?: [number, number] | [Date, Date]): void; setHighlightedData(data: number[] | Date[] | undefined): void; private _updateTimelineData; private _generateBandIntervals; setSelection(selectionRange?: [Date, Date] | [number, number], renderOnly?: boolean): void; private _setSelectionInPixels; updateDimensions(): void; resize(): void; render(): void; private _updateAxis; private _updateBrush; private _updateBars; private _createBars; private _animateBars; private _updateScales; private _disableBrush; private _toggleAnimation; private _disableAnimation; playAnimation: () => void; pauseAnimation: () => void; stopAnimation: () => void; private _animateSelection; private _mapSelection; private _getClosestRange; private _checkLastTickPosition; private _brushCurrentSelection; private _normalizeTimeToMilliseconds; destroy: () => void; } export type { TimelineConfigInterface, TimelineBarData }; export { defaultDateFormat };