export function polyToPoly(poly: any, kx: any, px: any, ky: any, py: any): any[][];
export function uniqueify(elements: any): any[];
export class TextManager {
    constructor(track: any);
    track: any;
    texts: {};
    textsList: any[];
    textWidths: {};
    textHeights: {};
    textGraphics: import("pixi.js").Graphics;
    fontSize: number;
    hideOverlaps(): void;
    startDraw(): void;
    allBoxes: any[] | undefined;
    allTexts: any[] | undefined;
    lightUpdateSingleText(td: any, xMiddle: any, yMiddle: any, textInfo: any): void;
    updateSingleText(td: any, xMiddle: any, yMiddle: any, textText: any): void;
    updateTexts(): void;
}
export default BedLikeTrack;
declare class BedLikeTrack extends HorizontalTiled1DPixiTrack {
    valueScaleTransform: import("d3-zoom").ZoomTransform;
    textManager: TextManager;
    vertY: number;
    vertK: number;
    prevY: number;
    prevK: number;
    minRawValue: any;
    maxRawValue: any;
    rectGraphics: import("pixi.js").Graphics;
    selectedRect: any;
    uniqueSegments: any[];
    /** Factor out some initialization code for the track. This is
     necessary because we can now load tiles synchronously and so
     we have to check if the track is initialized in renderTiles
     and not in the constructor */
    initialize(): void;
    drawnRects: {} | undefined;
    colorScale: import("./utils/color-domain-to-rgba-array").Color[] | number[][] | undefined;
    initialized: boolean | undefined;
    plusStrandRows: import("./utils/segments-to-rows").Segment[][] | {
        value: any;
    }[][] | undefined;
    minusStrandRows: any[] | undefined;
    selectRect(uid: any): void;
    /**
     * Remove the tile's rectangles from the list of drawnRects so that they
     * can be drawn again.
     */
    destroyTile(tile: any): void;
    removeTiles(toRemoveIds: any): void;
    drawTile(tile: any): void;
    valueScale: any;
    /**
     * Use this only when there's one row
     *
     * @return {[type]} [description]
     */
    allVisibleRects(): [type];
    drawSegmentStyle(xStartPos: any, xEndPos: any, rectY: any, rectHeight: any, strand: any): any[];
    drawPoly(xStartPos: any, xEndPos: any, rectY: any, rectHeight: any, strand: any): any[];
    /** The value scale is used to arrange annotations vertically
        based on a value */
    setValueScale(): void;
    /** The color value scale is used to map some value to a coloring */
    setColorValueScale(): void;
    colorValueScale: import("d3-scale").ScaleLinear<number, number, never> | null | undefined;
    renderRows(rows: any, maxRows: any, startY: any, endY: any, fill: any): void;
    render(): void;
    prevVertY: number | undefined;
    drawnAtScale: import("d3-scale").ScaleContinuousNumeric<number, number, never> | undefined;
    minVisibleValueInTiles(valueColumn: any): number;
    maxVisibleValueInTiles(valueColumn: any): number;
    calculateMedianVisibleValue(valueColumn: any): void;
    setPosition(newPosition: any): void;
    setDimensions(newDimensions: any): void;
    zoomed(newXScale: any, newYScale: any): void;
    /** Move event for the y-axis */
    movedY(dY: any): void;
    /** Zoomed along the y-axis */
    zoomedY(yPos: any, kMultiplier: any): void;
    getMouseOverHtml(trackX: any, trackY: any): any;
}
import HorizontalTiled1DPixiTrack from './HorizontalTiled1DPixiTrack';
