// scales
export { Band } from './scales/band';
export { Ordinal } from './scales/ordinal';
export { Constant } from './scales/constant';
export { Identity } from './scales/identity';
export { Linear } from './scales/linear';
export { Point } from './scales/point';
export { Pow } from './scales/pow';
export { Sqrt } from './scales/sqrt';
export { Threshold } from './scales/threshold';
export { Log } from './scales/log';
export { Quantize } from './scales/quantize';
export { Quantile } from './scales/quantile';
export { Time } from './scales/time';
export { Base } from './scales/base';
export { Continuous } from './scales/continuous';
export { Sequential } from './scales/sequential';
export { Diverging } from './scales/diverging';

// tick-methods
export { d3Ticks } from './tick-methods/d3-ticks';
export { rPretty } from './tick-methods/r-pretty';
export { wilkinsonExtended } from './tick-methods/wilkinson-extended';
export { d3Log } from './tick-methods/d3-log';
export { d3Time } from './tick-methods/d3-time';

// scales types
export type {
  BaseOptions,
  BandOptions,
  OrdinalOptions,
  ContinuousOptions,
  ConstantOptions,
  IdentityOptions,
  LinearOptions,
  PointOptions,
  PowOptions,
  TimeOptions,
  ThresholdOptions,
  QuantizeOptions,
  SqrtOptions,
  QuantileOptions,
  LogOptions,
  SequentialOptions,
  DivergingOptions,
} from './types';

// others
export type { TickMethod, Interpolate, Comparator, Interpolates, Interpolator } from './types';

// constants
export {
  DURATION_SECOND,
  DURATION_MINUTE,
  DURATION_HOUR,
  DURATION_DAY,
  DURATION_WEEK,
  DURATION_YEAR,
  DURATION_MONTH,
} from './utils';

// interpolators
export { createInterpolateNumber, createInterpolateValue, createInterpolateColor } from './utils';
