import { Selection, BaseType } from "d3-selection";
import { RcsbFvTrackDataElementInterface } from "../../../RcsbDataManager/RcsbDataManager";
import { RcsbScaleInterface } from "../RcsbD3ScaleFactory";
export interface PlotFastSequenceInterface {
    elements: Selection<SVGGElement, RcsbFvTrackDataElementInterface, BaseType, undefined>;
    trackG: Selection<SVGGElement, any, null, undefined>;
    xScale: RcsbScaleInterface;
    yScale: RcsbScaleInterface;
    color?: string;
    height: number;
    intervalRatio: [number, number];
    mouseclick: (event: MouseEvent) => void;
    mousemove: (event: MouseEvent) => void;
    mouseleave: (event: MouseEvent) => void;
}
export interface PlotFastSequenceLineInterface {
    xScale: RcsbScaleInterface;
    yScale: RcsbScaleInterface;
    trackG: Selection<SVGGElement, any, null, undefined>;
    height: number;
    color?: string;
    mouseclick: (event: MouseEvent) => void;
    mousemove: (event: MouseEvent) => void;
    mouseleave: (event: MouseEvent) => void;
}
export interface MoveFastSequenceInterface {
    xScale: RcsbScaleInterface;
    intervalRatio: [number, number];
}
export declare class RcsbD3FastSequenceManager {
    private textElements;
    private readonly MONOSPACE_BEGIN;
    private readonly FONT_FAMILY;
    private static readonly RECT_ID;
    plot(config: PlotFastSequenceInterface): void;
    static plotSequenceLine(config: PlotFastSequenceLineInterface): void;
    static clearLine(config: {
        trackG: Selection<SVGGElement, any, any, any>;
    }): void;
    move(config: MoveFastSequenceInterface): void;
    private static opacity;
    private textLength;
    private textBegin;
}
