/**
 * RulerNode is the visual representation of a ruler.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 */
import '../../globals.js';
import '../../chipper/js/browser/initialize-globals.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Node, { NodeOptions } from '../../scenery/js/nodes/Node.js';
import Font from '../../scenery/js/util/Font.js';
import TColor from '../../scenery/js/util/TColor.js';
type SelfOptions = {
    backgroundFill?: TColor;
    backgroundStroke?: TColor;
    backgroundLineWidth?: number;
    insetsWidth?: number;
    majorTickFont?: Font;
    majorTickHeight?: number;
    majorTickStroke?: TColor;
    majorTickLineWidth?: number;
    minorTickFont?: Font;
    minorTickHeight?: number;
    minorTickStroke?: TColor;
    minorTickLineWidth?: number;
    minorTicksPerMajorTick?: number;
    unitsFont?: Font;
    unitsMajorTickIndex?: number;
    unitsSpacing?: number;
    tickMarksOnTop?: boolean;
    tickMarksOnBottom?: boolean;
};
export type RulerNodeOptions = SelfOptions & NodeOptions;
declare class RulerNode extends Node {
    private readonly disposeRulerNode;
    static readonly DEFAULT_FILL = "rgb(236, 225, 113)";
    /**
     * @param rulerWidth  distance between left-most and right-most tick, insets will be added to this
     * @param rulerHeight
     * @param majorTickWidth
     * @param majorTickLabels
     * @param units
     * @param providedOptions
     */
    constructor(rulerWidth: number, rulerHeight: number, majorTickWidth: number, majorTickLabels: string[], units: string | TReadOnlyProperty<string>, providedOptions?: RulerNodeOptions);
    dispose(): void;
}
export default RulerNode;
//# sourceMappingURL=RulerNode.d.ts.map