import { AxisTimeInterval } from 'd3-axis'; import { NumberValue, ScaleTime } from 'd3-scale'; import { BaseType, Selection } from 'd3-selection'; import { Dimensions } from '../dimensions/dimensions.js'; import { DrawableObject } from '../drawable.object.js'; import { TimelineData } from '../../interfaces/timeline.data.js'; export declare class Axis extends DrawableObject { protected domain: ScaleTime; protected tickInterval: AxisTimeInterval; protected tickIntervalWidth: number; protected tickSize: number; protected tickFormat: (domainValue: Date | NumberValue, index: number) => string; protected axisXOffset: number; protected axisYOffset: number; protected textFontSize: number; private d3Axis; constructor(context: Selection, name: string); setRange(d: Dimensions): this; /** * Set the dates of the axis bounds * @param dates start and end dates */ setBoundDates(dates: Date[]): this; setTickInterval(t: AxisTimeInterval): this; setTickSize(s: number): this; setTickIntervalWidth(t: number): this; setAxisYOffset(axisYOffset: number): this; setTextFontSize(textFontSize: number): this; /** plots the axis, if the axis has already been plotted, it's replaced. */ plot(): void; getTickIntervalWidth(): number; getIntervalWidth(d: Date): number; getPosition(d: Date): number; getDate(d: number): Date; }