import { RcsbFv, RcsbFvBoardConfigInterface, RcsbFvRowConfigInterface } from '@rcsb/rcsb-saguaro';
import { SequenceCollectorDataInterface } from "../../RcsbCollectTools/SequenceCollector/SequenceCollector";
import { PolymerEntityInstanceTranslate } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
import { SequenceCollectorInterface } from "../../RcsbCollectTools/SequenceCollector/SequenceCollectorInterface";
import { AnnotationCollectorInterface } from "../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
import { RcsbFvModuleBuildInterface, RcsbFvModuleInterface } from "./RcsbFvModuleInterface";
import { Feature } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
export declare abstract class RcsbFvAbstractModule implements RcsbFvModuleInterface {
    protected readonly rcsbFv: RcsbFv;
    protected readonly elementId: string;
    protected boardConfigData: RcsbFvBoardConfigInterface;
    protected rowConfigData: Array<RcsbFvRowConfigInterface>;
    protected readonly sequenceCollector: SequenceCollectorInterface;
    protected readonly annotationCollector: AnnotationCollectorInterface;
    protected alignmentTracks: SequenceCollectorDataInterface;
    protected annotationTracks: Array<RcsbFvRowConfigInterface>;
    private activeDisplayFlag;
    constructor(elementId: string, rcsbFv: RcsbFv);
    setPolymerEntityInstanceTranslator(polymerEntityInstance: PolymerEntityInstanceTranslate): void;
    display(): Promise<void>;
    activeDisplay(): boolean;
    getFv(): RcsbFv;
    getTargets(): Promise<Array<string>>;
    getFeatures(): Promise<Array<Feature>>;
    getAnnotationConfigData(): Promise<Array<RcsbFvRowConfigInterface>>;
    updateBoardConfig(config: Partial<RcsbFvBoardConfigInterface>): void;
    build(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
    protected abstract protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
    protected abstract concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
    private buildExternalTracks;
    private setExternalTrackBuilder;
}
