import { RcsbDisplayInterface, RcsbTrackInterface } from "./RcsbDisplayInterface";
import { LocationViewInterface } from "../RcsbBoard";
import { RcsbD3Manager } from "../RcsbD3/RcsbD3Manager";
import { RcsbFvColorGradient, RcsbFvTrackData, RcsbFvTrackDataElementInterface, RcsbFvTrackDataMap } from "../../RcsbDataManager/RcsbDataManager";
import { RcsbFvContextManager } from "../../RcsbFv/RcsbFvContextManager/RcsbFvContextManager";
import { BaseType, Selection } from "d3-selection";
import { RcsbScaleInterface } from "../RcsbD3/RcsbD3ScaleFactory";
export declare class RcsbCompositeDisplay implements RcsbDisplayInterface {
    private innerDisplays;
    private _height;
    private _data;
    private _bgColor;
    private compositeHeight;
    setUpdateDataOnMove: (f: (d: LocationViewInterface) => Promise<RcsbFvTrackData>) => void;
    setMinRatio: (ratio: number) => void;
    setSelectDataInRange: (flag: boolean) => void;
    setHideEmptyTrack: (flag: boolean) => void;
    readonly elementSubject: RcsbDisplayInterface["elementSubject"];
    readonly trackSubject: RcsbTrackInterface["trackSubject"];
    setCompositeHeight(h: number): void;
    reset(): void;
    init(scale: RcsbScaleInterface): void;
    update(): void;
    displayEmpty(): void;
    move(): void;
    moveSelection(mode: 'select' | 'hover'): void;
    addDisplay(displayId: string, display: RcsbDisplayInterface): void;
    setManagers(d3Manager: RcsbD3Manager, contextManager: RcsbFvContextManager): void;
    setBoardHighlight(f: (d: RcsbFvTrackDataElementInterface, operation: 'set' | 'add', mode: 'select' | 'hover', propFlag?: boolean) => void): void;
    subscribeElementHighlight(action: {
        enter: (d: RcsbFvTrackDataElementInterface) => void;
        leave: (d: RcsbFvTrackDataElementInterface) => void;
    }): void;
    height(h?: number): number;
    trackColor(c?: string): string;
    data(d?: RcsbFvTrackDataMap | RcsbFvTrackData): RcsbFvTrackDataMap;
    highlightRegion(d: Array<RcsbFvTrackDataElementInterface> | null, options?: {
        color?: string;
        rectClass?: string;
    }): void;
    setDisplayColor(color: string | RcsbFvColorGradient): void;
    plot: (element: Selection<SVGGElement, RcsbFvTrackDataElementInterface, BaseType, undefined>) => void;
}
