export interface RangeData { dataFormat: 'ranges'; actorField: string; startField: string; endField: string; } export interface TableData { dataFormat: 'table'; actorFields: string[]; eventField?: string; } export interface ArrayData { dataFormat: 'array'; eventField?: string; actorArrayField: string; } export interface BaseConfig { uid: string; verbose: boolean; colorScheme: 'schemeCategory10' | 'schemeAccent' | 'schemeDark2' | 'schemePaired' | 'schemePastel1' | 'schemePastel2' | 'schemeSet1' | 'schemeSet2' | 'schemeSet3'; actorSplitFunction?: ((arg: string | string[]) => string[]) | undefined; eventDescription: (arg: Event) => string; url: (event: Event, actor: Actor) => string; eventUrl: (event: Event) => string; urlOpensNewTab: boolean; marginTop: number; marginBottom: number; marginLeft: number; marginRight: number; actorPadding: number; eventPadding: number; lineSize: number; eventValueScaling: number; continuous: boolean; compact: boolean; highlight: string[]; strokeWidth: (event: Event, actor: Actor) => number; actorColor: (event: Event, actor: Actor) => string | number; tooltipText?: (arg: Event) => string; mustContain: string[]; shouldContain: string[]; filterEventValue: [number | string | undefined, number | string | undefined]; filterGroupSize: [number | undefined, number | undefined]; filterEventCustom: (event: Event) => boolean; interactedWith: [string[], number | undefined]; filterEventValueLifeTime: [number | string | undefined, number | string | undefined]; filterGroupAmt: [number | undefined, number | undefined]; filterActorCustom: (actor: Actor) => boolean; linearLoss: number; amtLoss: number; lengthLoss: number; yExtentLoss: number; root: string; tooltipPosition: 'static' | 'relative' | 'absolute'; hiddenActorsTooltipTitle: string; inferredEventType: InferredEventType; } export type Config = Partial & (RangeData | ArrayData | TableData); export type FullConfig = BaseConfig & (RangeData | ArrayData | TableData); export declare class Event { eventValue: number | string | undefined; eventXValue: number; data: Record; index?: number; isHidden: boolean; add: string[]; remove: string[]; group: string[]; state: string[]; switch: Switch[]; hiddenActors: string[]; constructor(eventValue: number | string | undefined, eventXValue: number, data: Record); } export declare class Actor { actorID: string; data: Record; layers: Event[]; isHidden: boolean; constructor(actorID: string, data: Record); } export interface Switch { target: number; prev: number; } export interface Distance { p: string; distance: number; } export type GenePool = Map; export type Actors = Map; export interface Data { events: Event[]; actors: Actors; } export declare class RenderedPoint { x: number; y: number; z: string; isGrouped: number; strokeWidth: number; strokeColor: number | string; eventValue: number | string; eventDescription: string; url: string; eventUrl: string; isHighlighted: number; actor: Actor; event: Event; hiddenActors: string[]; bbox: any; constructor(x: number, y: number, z: string, isGrouped: number, strokeWidth: number, strokeColor: number | string, eventValue: number | string, eventDescription: string, url: string, eventUrl: string, isHighlighted: number, actor: Actor, event: Event); } export type InferredEvent = { eventValue: number | string | undefined; eventXValue: number; }; export type InferredEventType = "index" | "number" | 'datestring' | 'numberstring' | undefined;