racing-bars
Version:
Bar chart race made easy 📶
671 lines (670 loc) • 31 kB
TypeScript
declare module "racing-bars/shared/index" {
import { type Data, type WideData, type Options, type Race } from "racing-bars";
export function processProps(props: any, elementId: string): {
dataPromise: Promise<Data[]> | Promise<WideData[]>;
options: Partial<Partial<import("lib").Options>>;
callback: any;
className: any;
style: any;
};
export type Props = Partial<Options & {
data: Data[] | WideData[];
dataUrl: string;
dataType: 'json' | 'csv' | 'tsv' | 'xml';
elementId: string;
className: string;
style: Record<string, string>;
callback: (racer: Race, data: Data[] | WideData[]) => void;
}>;
export const defaultProps: Props;
}
declare module "racing-bars/lib/container/container.models" {
import type { Action } from "racing-bars/lib/store/index";
export interface ContainerAction extends Action {
payload: HTMLElement;
}
export interface ContainerState {
element: HTMLElement;
}
}
declare module "racing-bars/lib/container/container.actions" {
import type { ContainerState, ContainerAction } from "racing-bars/lib/container/container.models";
export const actionTypes: {
setContainer: string;
};
export const setContainer: (containerState: ContainerState) => ContainerAction;
}
declare module "racing-bars/lib/container/container.reducer" {
import type { Reducer } from "racing-bars/lib/store/index";
import type { ContainerAction, ContainerState } from "racing-bars/lib/container/container.models";
export const containerReducer: Reducer<ContainerState, ContainerAction>;
}
declare module "racing-bars/lib/container/index" {
export * from "racing-bars/lib/container/container.actions";
export * from "racing-bars/lib/container/container.models";
export * from "racing-bars/lib/container/container.reducer";
}
declare module "racing-bars/lib/options/options.models" {
import type { Action } from "racing-bars/lib/store/index";
import type { Data, WideData } from "racing-bars/lib/data/index";
export interface OptionsAction extends Action {
payload: Partial<Options>;
}
export interface Options {
dataShape: 'long' | 'wide' | 'auto';
dataType: 'json' | 'csv' | 'tsv' | 'xml' | 'auto';
dataTransform: null | ((data: Data[] | WideData[]) => Data[] | WideData[]);
valueDecimals: 'preserve' | number;
fillDateGapsInterval: null | 'year' | 'month' | 'day';
fillDateGapsValue: 'last' | 'interpolate';
labelsPosition: 'inside' | 'outside' | 'none';
controlButtons: 'all' | 'play' | 'none';
overlays: 'all' | 'play' | 'repeat' | 'none';
makeCumulative: boolean;
loop: boolean;
showIcons: boolean;
showGroups: boolean;
mouseControls: boolean;
keyboardControls: boolean;
autorun: boolean;
injectStyles: boolean;
fixedScale: boolean;
highlightBars: boolean;
selectBars: boolean;
labelsWidth: number;
tickDuration: number;
topN: number;
minHeight: number;
minWidth: number;
marginTop: number;
marginRight: number;
marginBottom: number;
marginLeft: number;
startDate: string;
endDate: string;
theme: string;
colorSeed: number | string;
inputHeight: number | string;
inputWidth: number | string;
height: number | string;
width: number | string;
title: string | ((currentDate: string, dateSlice: Data[], allDates: string[]) => string);
subTitle: string | ((currentDate: string, dateSlice: Data[], allDates: string[]) => string);
dateCounter: string | ((currentDate: string, dateSlice: Data[], allDates: string[]) => string);
caption: string | ((currentDate: string, dateSlice: Data[], allDates: string[]) => string);
colorMap: {
[key: string]: string;
} | string[];
fixedOrder: string[];
}
export type TransformFn = (data: Data[] | WideData[]) => Data[] | WideData[];
export type ParamFunction = (currentDate: string, dateSlice: Data[], allDates: string[]) => string;
}
declare module "racing-bars/lib/options/options.actions" {
import type { Options, OptionsAction } from "racing-bars/lib/options/options.models";
export const actionTypes: {
loadOptions: string;
changeOptions: string;
};
export const loadOptions: (options: Partial<Options>) => OptionsAction;
export const changeOptions: (options: Partial<Options>) => OptionsAction;
}
declare module "racing-bars/lib/d3" {
export type { Axis, ScaleLinear, Timer } from 'd3';
export { axisTop, csv, easeLinear, format, hsl, interpolate, interpolateRound, interval, json, max, scaleLinear, select, selectAll, timeYear, timeMonth, timeDay, tsv, xml, } from 'd3';
}
declare module "racing-bars/lib/load-data" {
import type { Options, Data, WideData } from "racing-bars/lib/index";
export function loadData(url: string, type?: Options['dataType']): Promise<Data[]> | Promise<WideData[]>;
}
declare module "racing-bars/lib/utils/utils" {
import type { Data } from "racing-bars/lib/data/index";
import type { ParamFunction } from "racing-bars/lib/options/index";
import type { Store } from "racing-bars/lib/store/index";
export function getColor(d: Data, store: Store): string | import("d3-color").HSLColor;
export function getIconID(d: Data): string;
export function zeroPad(n: string, w: number): string;
export const countDecimals: (n: number) => number;
export function random(InputSeed: string | number): number;
export function shuffle(arr: string[], seed: number): string[];
export function generateId(prefix?: string, n?: number): string;
export function getHeight(element: HTMLElement, minHeight: number, height?: string): number;
export function getWidth(element: HTMLElement, minWidth: number, width?: string): number;
export function getElement(root: HTMLElement | HTMLDocument, className: string): HTMLElement | undefined;
export function showElement(root: HTMLElement, className: string, useVisibility?: boolean): void;
export function hideElement(root: HTMLElement, className: string, useVisibility?: boolean): void;
export function removeElement(root: HTMLElement, className: string): void;
export function getText(param: string | ParamFunction, currentDate: string, dateSlice: Data[], dates: string[], isDate?: boolean): string;
export function safeName(name: string): string;
export function toggleClass(root: HTMLElement, selector: string, className: string): void;
export const getClicks: (_clicks: MouseEvent, _Fn: (clicks: MouseEvent) => void) => void;
export const pipe: (...fns: Function[]) => Function;
export function getBaseUrl(): string;
export const getWorkerDataURL: (url: string) => string;
export const toDataUrl: (content: string, type?: string) => string;
export const createWorkerFromContent: (content: string) => Worker;
}
declare module "racing-bars/lib/utils/dates" {
import type { Data } from "racing-bars/lib/data/index";
export const getDates: (data: Data[]) => string[];
export function getDateString(inputDate: string | Date): string;
export function formatDate(dateStr: string, format?: string): string;
export function getDateRange(date1: Date, date2: Date, interval: 'year' | 'month' | 'day'): Date[];
export function getNextDate(dates: string[], currentDate: string): string;
}
declare module "racing-bars/lib/utils/data" {
import type { Data, WideData } from "racing-bars/lib/data/index";
import { type Store } from "racing-bars/lib/store/index";
export function prepareData(data: Data[] | WideData[] | Promise<Data[]> | Promise<WideData[]> | string, store: Store, changingOptions?: boolean): Promise<Data[]>;
export function getDateSlice(date: string, data: Data[], store: Store): Data[];
export function computeNextDateSubscriber(data: Data[], store: Store): () => void;
}
declare module "racing-bars/lib/utils/index" {
export * from "racing-bars/lib/utils/data";
export * from "racing-bars/lib/utils/dates";
export * from "racing-bars/lib/utils/utils";
}
declare module "racing-bars/lib/options/options.reducer" {
import type { Reducer } from "racing-bars/lib/store/index";
import type { Options, OptionsAction } from "racing-bars/lib/options/options.models";
export const defaultOptions: Options;
export const optionsReducer: Reducer<Options, OptionsAction>;
}
declare module "racing-bars/lib/options/validate-options" {
import type { Options } from "racing-bars/lib/options/index";
export function validateOptions(options: Partial<Options>): Partial<Options>;
}
declare module "racing-bars/lib/options/index" {
export * from "racing-bars/lib/options/options.actions";
export * from "racing-bars/lib/options/options.models";
export * from "racing-bars/lib/options/options.reducer";
export * from "racing-bars/lib/options/validate-options";
}
declare module "racing-bars/lib/ticker/ticker.models" {
import type { Action } from "racing-bars/lib/store/index";
export interface TickerAction extends Action {
payload?: string | string[] | boolean | number;
}
export interface TickerState {
isRunning: boolean;
currentDate: string;
isFirstDate: boolean;
isLastDate: boolean;
dates: string[];
}
export interface Ticker {
start: () => void;
stop: () => void;
skipBack: () => void;
loop: () => void;
skipForward: () => void;
toggle: () => void;
goToDate: (date: string) => void;
}
}
declare module "racing-bars/lib/ticker/ticker.actions" {
import type { TickerAction } from "racing-bars/lib/ticker/ticker.models";
export const actionTypes: {
initialize: string;
changeDates: string;
updateDate: string;
setRunning: string;
setFirst: string;
setLast: string;
inc: string;
dec: string;
};
export const initialize: (dates: string[]) => TickerAction;
export const changeDates: (dates: string[]) => TickerAction;
export const updateDate: (currentDate: string) => TickerAction;
export const setRunning: (running: boolean) => TickerAction;
export const setFirst: () => TickerAction;
export const setLast: () => TickerAction;
export const inc: (value?: number) => TickerAction;
export const dec: (value?: number) => TickerAction;
}
declare module "racing-bars/lib/ticker/ticker.reducer" {
import type { Reducer } from "racing-bars/lib/store/index";
import type { TickerState, TickerAction } from "racing-bars/lib/ticker/ticker.models";
export const tickerReducer: Reducer<TickerState, TickerAction>;
}
declare module "racing-bars/lib/ticker/ticker" {
import { type Store } from "racing-bars/lib/store/index";
import type { Ticker } from "racing-bars/lib/ticker/ticker.models";
export function createTicker(store: Store): Ticker;
}
declare module "racing-bars/lib/ticker/index" {
export * from "racing-bars/lib/ticker/ticker.actions";
export * from "racing-bars/lib/ticker/ticker.models";
export * from "racing-bars/lib/ticker/ticker.reducer";
export * from "racing-bars/lib/ticker/ticker";
}
declare module "racing-bars/lib/store/actions" {
import * as container from "racing-bars/lib/container/index";
import * as data from "racing-bars/lib/data/index";
import * as options from "racing-bars/lib/options/index";
import * as ticker from "racing-bars/lib/ticker/index";
export const actions: {
container: typeof container;
data: typeof data;
options: typeof options;
ticker: typeof ticker;
};
}
declare module "racing-bars/lib/store/models" {
import type { Options } from "racing-bars/lib/options/index";
import type { TickerState } from "racing-bars/lib/ticker/index";
import type { DataState } from "racing-bars/lib/data/index";
import type { ContainerState } from "racing-bars/lib/container/index";
export interface Action {
type: string;
payload?: any;
error?: Error;
triggerRender?: boolean;
}
export interface State {
container: ContainerState;
data: DataState;
options: Options;
ticker: TickerState;
triggerRender: boolean;
}
type StateOrSlice = State | ContainerState | DataState | Options | TickerState;
export type Reducer<T extends StateOrSlice, U extends Action> = (state: T, action: U) => T;
export interface Store {
getState: () => State;
dispatch: (action: Action) => void;
subscribe: (fn: Subscriber) => {
unsubscribe: () => void;
};
unsubscribeAll: () => void;
}
export type Subscriber = () => void;
}
declare module "racing-bars/lib/store/reducer" {
import type { Action, State, Reducer } from "racing-bars/lib/store/models";
export const rootReducer: Reducer<State, Action>;
}
declare module "racing-bars/lib/store/store" {
import type { Action, Reducer, State, Store } from "racing-bars/lib/store/models";
export function createStore(reducer?: Reducer<State, Action>, preloadedState?: State): Store;
}
declare module "racing-bars/lib/store/index" {
export * from "racing-bars/lib/store/actions";
export * from "racing-bars/lib/store/models";
export * from "racing-bars/lib/store/reducer";
export * from "racing-bars/lib/store/store";
}
declare module "racing-bars/lib/data/data.models" {
import type { HSLColor } from 'd3';
import type { Action } from "racing-bars/lib/store/index";
export interface DataAction extends Action {
payload?: DataCollections | string | DateSlice;
}
export interface DataState extends DataCollections {
groupFilter: string[];
selected: string[];
dateSlices: DateSlice;
}
export interface DataCollections {
names: string[];
groups: string[];
datesCache: string[];
}
export interface Data {
date: string;
name: string;
value: number;
lastValue?: number;
group?: string;
color?: HSLColor | string;
icon?: string;
rank?: number;
}
export interface WideData {
[key: string]: any;
date: string;
}
export interface DateSlice {
[key: string]: Data[];
}
}
declare module "racing-bars/lib/data/data.actions" {
import type { DataAction, DataCollections, Data } from "racing-bars/lib/data/data.models";
export const actionTypes: {
dataLoaded: string;
addFilter: string;
removeFilter: string;
toggleFilter: string;
resetFilters: string;
allExceptFilter: string;
addSelection: string;
removeSelection: string;
toggleSelection: string;
resetSelections: string;
addDateSlice: string;
clearDateSlices: string;
};
export const dataLoaded: (dataCollections: DataCollections) => DataAction;
export const addFilter: (group: string) => DataAction;
export const removeFilter: (group: string) => DataAction;
export const toggleFilter: (group: string) => DataAction;
export const resetFilters: () => DataAction;
export const allExceptFilter: (group: string) => DataAction;
export const addSelection: (selection: string) => DataAction;
export const removeSelection: (selection: string) => DataAction;
export const toggleSelection: (selection: string) => DataAction;
export const resetSelections: () => DataAction;
export const addDateSlice: (date: string, dateSlice: Data[]) => DataAction;
export const clearDateSlices: () => DataAction;
}
declare module "racing-bars/lib/data/data.reducer" {
import type { Reducer } from "racing-bars/lib/store/index";
import type { DataState, DataAction } from "racing-bars/lib/data/data.models";
export const dataReducer: Reducer<DataState, DataAction>;
}
declare module "racing-bars/lib/data/index" {
export * from "racing-bars/lib/data/data.actions";
export * from "racing-bars/lib/data/data.models";
export * from "racing-bars/lib/data/data.reducer";
}
declare module "racing-bars/lib/renderer/renderer.models" {
export interface Renderer {
renderInitialView: () => void;
renderFrame: () => void;
resize: () => void;
}
}
declare module "racing-bars/lib/renderer/render-options" {
import type { Data } from "racing-bars/lib/data/index";
export interface RenderOptions {
titleText: any;
subTitleText: any;
captionText: any;
dateCounterText: any;
root: HTMLElement;
svg: any;
height: number;
width: number;
margin: {
top: number;
right: number;
bottom: number;
left: number;
};
x: d3.ScaleLinear<number, number>;
y: d3.ScaleLinear<number, number>;
xAxis: d3.Axis<number | {
valueOf(): number;
}>;
headerHeight: number;
titlePadding: number;
titleHeight: number;
barY: (d: Data) => number;
barWidth: (d: Data) => number;
barHeight: number;
barHalfHeight: number;
barPadding: number;
labelX: number | ((d: Data) => number);
labelPadding: number;
defs: any;
iconSize: number;
iconSpace: number;
maxValue: number;
lastDate: string;
}
}
declare module "racing-bars/lib/renderer/calculate-dimensions" {
import type { Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function calculateDimensions(store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/helpers" {
import type { Data } from "racing-bars/lib/data/index";
import { type Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function halo(text: any, renderOptions: RenderOptions): void;
export function legendClick(ev: MouseEvent, d: string, store: Store): void;
export function highlightFn(d: Data, store: Store, renderOptions: RenderOptions): void;
export function selectFn(d: Data, store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/render-header" {
import type { Data } from "racing-bars/lib/data/index";
import type { Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function renderHeader(store: Store, renderOptions: RenderOptions, CompleteDateSlice: Data[]): void;
}
declare module "racing-bars/lib/renderer/elements" {
export const elements: {
controls: string;
skipBack: string;
play: string;
pause: string;
skipForward: string;
overlay: string;
overlayPlay: string;
overlayRepeat: string;
};
}
declare module "racing-bars/lib/renderer/buttons" {
export const buttons: {
skipBack: string;
play: string;
pause: string;
skipForward: string;
overlayPlay: string;
overlayRepeat: string;
};
}
declare module "racing-bars/lib/renderer/controls" {
import type { Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function renderControls(store: Store, renderOptions: RenderOptions): void;
export function updateControls(store: Store, renderOptions: RenderOptions): void;
export function renderOverlays(store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/render-initial-view" {
import type { Store } from "racing-bars/lib/store/index";
import type { Data } from "racing-bars/lib/data/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function renderInitialView(data: Data[], store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/render-frame" {
import type { Data } from "racing-bars/lib/data/index";
import type { Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function renderFrame(data: Data[], store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/resize" {
import type { Data } from "racing-bars/lib/data/index";
import type { Store } from "racing-bars/lib/store/index";
import type { RenderOptions } from "racing-bars/lib/renderer/render-options";
export function resize(data: Data[], store: Store, renderOptions: RenderOptions): void;
}
declare module "racing-bars/lib/renderer/create-renderer" {
import type { Data } from "racing-bars/lib/data/index";
import type { Store } from "racing-bars/lib/store/index";
import type { Renderer } from "racing-bars/lib/renderer/renderer.models";
export function createRenderer(data: Data[], store: Store, root: HTMLElement): Renderer;
}
declare module "racing-bars/lib/renderer/resize-observer" {
export function createResizeObserver(resizeFn: () => void): ResizeObserver | {
observe: () => void;
unobserve: () => void;
};
}
declare module "racing-bars/lib/renderer/renderer-subscriber" {
import type { Store } from "racing-bars/lib/store/index";
import type { Renderer } from "racing-bars/lib/renderer/renderer.models";
export function rendererSubscriber(store: Store, renderer: Renderer): () => void;
}
declare module "racing-bars/lib/renderer/index" {
export { createRenderer } from "racing-bars/lib/renderer/create-renderer";
export { createResizeObserver } from "racing-bars/lib/renderer/resize-observer";
export { elements } from "racing-bars/lib/renderer/elements";
export { rendererSubscriber } from "racing-bars/lib/renderer/renderer-subscriber";
export type { Renderer } from "racing-bars/lib/renderer/renderer.models";
}
declare module "racing-bars/lib/events/models" {
export interface TickDetails {
date: string;
isFirstDate: boolean;
isLastDate: boolean;
isRunning: boolean;
allDates: string[];
}
export interface DOMCustomEvent {
bubbles: boolean;
detail: TickDetails;
}
export type EventType = 'dateChange' | 'firstDate' | 'lastDate' | 'play' | 'pause';
export interface Event {
element: HTMLElement | Document;
userDefined: boolean;
eventType: EventType | 'click' | 'keyup';
handler: EventListener;
}
}
declare module "racing-bars/lib/events/events" {
import type { Store } from "racing-bars/lib/store/index";
import type { Ticker } from "racing-bars/lib/ticker/index";
import type { EventType, TickDetails } from "racing-bars/lib/events/models";
export function registerEvents(store: Store, ticker: Ticker): {
reregister: () => void;
unregister: (removeUserDefined?: boolean) => void;
addApiEventHandler: (eventType: EventType, handler: () => void) => {
remove: () => void;
};
};
export function getTickDetails(store: Store): TickDetails;
export function DOMEventSubscriber(store: Store): () => void;
}
declare module "racing-bars/lib/events/index" {
export * from "racing-bars/lib/events/events";
export * from "racing-bars/lib/events/models";
}
declare module "racing-bars/lib/models" {
import type { Options } from "racing-bars/lib/options/index";
import type { TickDetails, EventType } from "racing-bars/lib/events/index";
export interface Race {
play: () => void;
pause: () => void;
toggle: () => void;
skipBack: () => void;
skipForward: () => void;
inc: (value: number) => void;
dec: (value: number) => void;
setDate: (inputDate: string | Date) => void;
getDate: () => string;
getAllDates: () => string[];
isRunning: () => boolean;
select: (name: string) => void;
unselect: (name: string) => void;
unselectAll: () => void;
hideGroup: (group: string) => void;
showGroup: (group: string) => void;
showOnlyGroup: (group: string) => void;
showAllGroups: () => void;
changeOptions: (newOptions: Partial<Options>) => Promise<void>;
onDate: (date: string | Date, fn: ApiCallback) => void;
on: (event: EventType, fn: ApiCallback) => void;
destroy: () => void;
}
export type ApiMethod = (...args: unknown[]) => Race | string | string[] | boolean | void;
export type ApiCallback = (tickDetails: TickDetails) => void;
}
declare module "racing-bars/lib/styles/style-inject" {
export function styleInject(container: HTMLElement, theme: string, insertAt?: string, styles?: any, themes?: {
light: any;
dark: any;
}): string;
}
declare module "racing-bars/lib/styles/index" {
export { styleInject } from "racing-bars/lib/styles/style-inject";
}
declare module "racing-bars/lib/race" {
import type { Data, WideData } from "racing-bars/lib/data/index";
import { type Options } from "racing-bars/lib/options/index";
import type { Race } from "racing-bars/lib/models";
export function race(data: Data[] | WideData[] | Promise<Data[]> | Promise<WideData[]> | string, container?: string | HTMLElement, options?: Partial<Options>): Promise<Race>;
}
declare module "racing-bars/lib/index" {
export type { Data, WideData } from "racing-bars/lib/data/index";
export type { DOMCustomEvent, EventType, TickDetails } from "racing-bars/lib/events/index";
export type { ApiCallback, Race } from "racing-bars/lib/models";
export type { Options } from "racing-bars/lib/options/index";
export { defaultOptions } from "racing-bars/lib/options/index";
export { race } from "racing-bars/lib/race";
export { loadData } from "racing-bars/lib/load-data";
export { generateId } from "racing-bars/lib/utils/index";
}
declare module "racing-bars" {
export type { Props } from "racing-bars/shared/index";
export type { DOMCustomEvent, Race, Data, WideData } from "racing-bars/lib/index";
export { loadData, race, generateId, defaultOptions } from "racing-bars/lib/index";
import type { Options as AllOptions } from "racing-bars/lib/index";
export type Options = Partial<AllOptions>;
}
declare module "racing-bars/vue" {
import type { DefineComponent, AllowedComponentProps, ComponentCustomProps, ComponentOptionsMixin, ExtractPropTypes, RendererElement, RendererNode, VNode, VNodeProps } from '@vue/runtime-core';
import { type Props } from "racing-bars/shared/index";
const RacingBars: RacingBarsComponent;
export default RacingBars;
type RacingBarsComponent = DefineComponent<Props, () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<Props>>, {}>;
}
declare module "racing-bars/lib/scroller" {
import type { Store } from "racing-bars/lib/store/index";
export function createScroller(store: Store): void;
}
declare module "racing-bars/lib/__test-utils/generate-test-data" {
import type { Data } from "racing-bars/lib/index";
export const generateTestData: (startDate?: string, endDate?: string, interval?: 'year' | 'month' | 'day') => Data[];
}
declare module "racing-bars/lib/__test-utils/index" {
export * from "racing-bars/lib/__test-utils/generate-test-data";
}
declare module "racing-bars/lib/data/__tests__/data-action-creators.spec" { }
declare module "racing-bars/lib/data/__tests__/data-reducer.spec" { }
declare module "racing-bars/lib/options/__tests__/options-action-creators.spec" { }
declare module "racing-bars/lib/options/__tests__/options-reducer.spec" { }
declare module "racing-bars/lib/options/__tests__/validate-options.spec" { }
declare module "racing-bars/lib/store/__tests__/root-reducer.spec" { }
declare module "racing-bars/lib/store/__tests__/store.spec" { }
declare module "racing-bars/lib/styles/__tests__/style-inject.spec" { }
declare module "racing-bars/lib/ticker/__tests__/ticker-action-creators.spec" { }
declare module "racing-bars/lib/ticker/__tests__/ticker-reducer.spec" { }
declare module "racing-bars/lib/ticker/__tests__/ticker.spec" { }
declare module "racing-bars/lib/utils/__tests__/data/get-date-slice.spec" { }
declare module "racing-bars/lib/utils/__tests__/dates/format-date.spec" { }
declare module "racing-bars/lib/utils/__tests__/dates/get-date-range.spec" { }
declare module "racing-bars/lib/utils/__tests__/dates/get-date-string.spec" { }
declare module "racing-bars/lib/utils/__tests__/dates/get-dates.spec" { }
declare module "racing-bars/lib/utils/__tests__/dates/get-next-date.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/generate-id.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/get-color.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/get-element.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/get-icon-id.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/get-text.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/hide-element.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/pipe.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/random.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/remove-element.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/safe-name.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/show-element.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/shuffle.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/toggle-class.spec" { }
declare module "racing-bars/lib/utils/__tests__/utils/zero-pad.spec" { }
declare module "racing-bars/lib/worker/prepare-data" {
import type { Data, WideData } from "racing-bars/lib/data/index";
import type { Options } from "racing-bars/lib/options/index";
export function prepareData(data: Data[] | WideData[] | Promise<Data[]> | Promise<WideData[]> | string, options: Options, baseUrl: string): Promise<Data[]>;
}
declare module "racing-bars/lib/worker/index" { }
declare module "racing-bars/react" {
import { type Props } from "racing-bars/shared/index";
export default function RacingBars(props: Props & {
children?: React.ReactNode;
}): import("react/jsx-runtime").JSX.Element;
}