import { RcsbAbstractDisplay } from "./RcsbAbstractDisplay";
import { Selection, BaseType } from "d3-selection";
import { RcsbFvTrackData, RcsbFvTrackDataElementInterface } from "../../RcsbDataManager/RcsbDataManager";
export interface BlockElementInterface {
    /**Alternative begin position for rects in block displays. It is used to split annotation into multiple rects when gaps are included*/
    rectBegin?: number;
    /**Alternative begin position for rects in block displays. It is used to split annotation into multiple rects when gaps are included*/
    rectEnd?: number;
}
export declare class RcsbBlockDisplay extends RcsbAbstractDisplay {
    private dx;
    private lines;
    private circles;
    private circleDecorators;
    private lineDecorators;
    private rcsbD3BlockManager;
    enter(e: Selection<SVGGElement, RcsbFvTrackDataElementInterface, BaseType, undefined>): void;
    plot(elements: Selection<SVGGElement, RcsbFvTrackDataElementInterface, BaseType, undefined>): void;
    move(): void;
    protected processData(dataElems: RcsbFvTrackData): RcsbFvTrackData<BlockElementInterface>;
    protected static dataKey(d: RcsbFvTrackDataElementInterface & BlockElementInterface): string;
    private loadDecorators;
    private plotDecorators;
    private removeDecorators;
}
