export default trackUtils;
declare namespace trackUtils {
    export { calculate1DVisibleTiles };
    export { calculate1DZoomLevel };
    export { drawAxis };
    export { movedY };
    export { getTilePosAndDimensions };
    export { stretchRects };
    export { zoomedY };
}
/**
 * Calculate which tiles should be visible given a track's
 * scale.
 *
 * @param  {object} tilesetInfo The track's tileset info, containing either the `resolutions`
 *                              list or min_pos and max_pos arrays
 * @param  {function} scale     The track's D3 scale function.
 * @return {array}             A list of visible tiles (e.g. [[1,0],[1,1]])
 */
declare function calculate1DVisibleTiles(tilesetInfo: object, scale: Function): array;
/**
 * Calculate the current zoom level for a 1D track
 *
 * @param  {object} tilesetInfo The tileset info for the track. Should contain
 *                              min_pos and max_pos arrays, each of which has one
 *                              value which stores the minimum and maximum data
 *                              positions respectively.
 * @param  {function} xScale      The current D3 scale function for the track.
 * @param  {number} maxZoom     The maximum zoom level allowed by the track.
 * @return {number}                The current zoom level of the track.
 */
declare function calculate1DZoomLevel(tilesetInfo: object, xScale: Function, maxZoom: number): number;
/**
 * Draw an axis on a track. Where on the track the axis will be drawn
 * is taken from the track's options.
 *
 * @param  {PixiTrack} track   The track to decorate with an axis.
 * @param  {d3.scale} valueScale The scale that the axis should draw.
 */
declare function drawAxis(track: PixiTrack, valueScale: d3.scale): void;
/**
 * A track is being dragged along it's value scale axis.
 *
 * @param {object} Track The track instance being dragged.
 * @param  {number} dY The change in y position.
 */
declare function movedY(track: any, dY: number): void;
/**
 * Get the tile's position in its coordinate system.
 *
 * See Tiled1DPIXITrack.js
 */
declare function getTilePosAndDimensions(tilesetInfo: any, tileId: any): {
    tileX: any;
    tileWidth: number;
};
/** When zooming, we want to do fast scaling rather than re-rendering
 * but if we do this too much, shapes (particularly arrowheads) get
 * distorted. This function keeps track of how stretched the track is
 * and redraws it if it becomes too distorted (tileK < 0.5 or tileK > 2) */
declare function stretchRects(track: any, graphicsAccessors: any): void;
/**
 * A track has received an event telling it to zoom along its
 * vertical axis. Update the transform describing the position
 * of its graphics.
 *
 * @param  {number} yPos        The position the zoom event took place
 * @param  {number} kMultiplier How much the zoom level should be adjusted by
 * @param  {d3.transform} transform   The track's current graphics transform.
 * @param  {number} height      The height of the track
 * @return {d3.transform}            The track's new graphics transform.
 */
declare function zoomedY(yPos: number, kMultiplier: number, transform: d3.transform, height: number): d3.transform;
