import SvgTrack from '../svg-track';
import { LabelBounds } from './common';
import { ScaleTrackOptions } from './interfaces';
import { Scale, D3Selection } from '../../common/interfaces';
import { OnMountEvent, OnRescaleEvent, OnUpdateEvent } from '../interfaces';
import { LegendTriggerFunction } from '../../utils/legend-helper';
/**
 * Track for visualising the domain/reference scale
 */
export default class ScaleTrack extends SvgTrack<ScaleTrackOptions> {
    xscale: Scale;
    ticks: number[];
    labelBounds: LabelBounds;
    legendUpdate?: LegendTriggerFunction;
    constructor(id: string | number, options?: ScaleTrackOptions);
    /**
     * Override of onMount from base class
     */
    onMount(trackEvent: OnMountEvent): void;
    /**
     * Override of onRescale from base class
     */
    onRescale(trackEvent: OnRescaleEvent): void;
    /**
     * Override of onUpdate from base class
     */
    onUpdate(trackEvent: OnUpdateEvent): void;
    /**
     * Create scale tick intervals
     */
    createTicks(): void;
    /**
     * Create scale ruler ticks and render
     */
    createRuler(g: D3Selection): void;
    /**
     * Plot
     */
    plot(): void;
    /**
     * Getter for scale extent
     */
    get extent(): import("../../common/interfaces").Domain;
}
