import { Granularity } from '../../utils/dates'; import { Pixels, Milliseconds, Ratio } from '../../constants'; import { BandConfig } from '../config'; import { OrderedBand } from '../../utils/events.worker'; export declare enum BandType { EventsBand = 0, MinimapBand = 1 } export default abstract class Band { config: T; abstract type: BandType; protected readonly defaultZoomLevel: number; from: Milliseconds; to: Milliseconds; time: Milliseconds; granularity: Granularity; availableHeight: Pixels; visibleHeight: Pixels; visibleRowsCount: number; nextDate: (d: Milliseconds) => Milliseconds; pixelsPerMillisecond: Pixels; prevOffsetX: Pixels; prevZoomLevel: number; top: Pixels; visibleRatio: Ratio; width: Pixels; private _offsetX; offsetX: number; private _zoomLevel; zoomLevel: number; constructor(config: T); private setVerticalProps; private setHorizontalProps; init(_orderedBand?: OrderedBand): void; resize(): void; update(): void; updateConfig(props: { [prop: string]: string | number; }): void; positionAtTimestamp(timestamp: Milliseconds): Pixels; timestampAtProportion(proportion: Ratio): Milliseconds; timestampAtPosition(position: Pixels): Milliseconds; }