import { DisplayStateConfigInterface } from '../_abstract/display-state-manager'; import type { TimelineBarData, Padding } from './types'; export declare const DEFAULT_PADDING: Padding; export interface TimelineConfigInterface extends DisplayStateConfigInterface { /** * Use a symlog scale for the timeline bars Y axis. * @default false */ useSymlogScale?: boolean; /** * Padding between the outer edges of the timeline. Affects only timeline container without animation button. * Set in pixels. * @default { top: 1, left: 5, bottom: 1, right: 5 } */ padding?: Padding; /** * Height of the ticks that appear along the timeline axis. * Set in pixels. * @default 16 */ axisTickHeight?: number; /** * Corners roundness of the data selection brush. * Set in pixels. * @default 3 */ selectionRadius?: number; /** * Padding of the data selection brush. * Set in pixels. * @default 8 */ selectionPadding?: number; /** * Number of bars to be displayed in the timeline. * Ignored if `dataStep` is set. * @default 250 */ barCount?: number; /** * Corners roundness of each bar on the timeline. * Set in pixels. * @default 1 */ barRadius?: number; /** * Padding between each bar on the timeline. * Set in percent of bar width from 0 (as 0% of the bar width) to 1 (as 100% of the bar width). * @default 0.1 */ barPadding?: number; /** * Margin between the top edge of the timeline and the maximum height bar. * Set in pixels. * @default 20 */ barTopMargin?: number; /** * Height of bars with an empty data on the timeline. * Set in pixels. * @default 1 */ minBarHeight?: number; /** * Stick selection brush coordinates to the bar edges. * @default true */ stickySelection?: boolean; /** * Determines whether or not the timeline allows users to select a range of dates using a selection brush control. * @default true */ allowSelection?: boolean; /** * If set to true, shows an animation control button that allows to play or pause animation of selected range of dates. * @default false */ showAnimationControls?: boolean; /** * Rate of refresh for each selection brush movement. * Set in ms. * @default 50 */ animationSpeed?: number; /** * Generate bars of width of this value mapped in the X axis units. * Overrides `barCount`. * Set in ms for `Date[]` data. * @default undefined */ dataStep?: number; /** * Interval between each tick mark on the timeline axis. * Set in the X axis units, in `ms` for `Date[]` timeline data or in relative units for `number[]` timeline data. * Custom `dateFormat` may be required for the proper display of tick labels if the timeline data is `Date[]`. * @default undefined */ tickStep?: number; /** * Formatter function for ticks displayed on the timeline axis. * @param date - The date or number to format * @returns The formatted string representation of the date/number */ formatter?: (date: Date | number) => string; /** * Callback for the range selection. Provides current selection of `Timeline`. * @param selection - The current selection range as [start, end] dates or numbers * @param isManuallySelected - Whether the selection was made by user interaction */ onBrush?: (selection: [Date, Date] | [number, number] | undefined, isManuallySelected?: boolean) => void; /** * Callback that is called when a bar is hovered over. * Provides `BarData` for hovered bar: `rangeStart`, `rangeEnd` and `count` of records in this bar. * @param data - The data for the hovered bar */ onBarHover?: (data: TimelineBarData) => void; /** * Callback for the animation play that will be executed in `playAnimation`. * Provides `isAnimationRunning` state and current selection of `Timeline`. * @param isAnimationRunning - Whether the animation is currently running * @param selection - The current selection range */ onAnimationPlay?: (isAnimationRunning: boolean, selection: (number | Date)[] | undefined) => void; /** * Callback for the animation play that will be executed in `pauseAnimation`. * Provides `isAnimationRunning` state and current selection of `Timeline`. * @param isAnimationRunning - Whether the animation is currently running * @param selection - The current selection range */ onAnimationPause?: (isAnimationRunning: boolean, selection: (number | Date)[] | undefined) => void; /** * Callback that is called on each animation tick. * Provides current selection of Timeline. * @param selection - The current selection range */ onAnimationTick?: (selection: (number | Date)[] | undefined) => void; } export declare const defaultTimelineConfig: TimelineConfigInterface;