import { SequenceAnnotations } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import { RcsbAnnotationConfig } from "../../../../RcsbAnnotationConfig/RcsbAnnotationConfig";
import { PolymerEntityInstanceTranslate } from "../../../../RcsbUtils/Translators/PolymerEntityInstanceTranslate";
import { AnnotationRequestContext } from "../../../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
import { BlockManagerInterface } from "./BlockManagerInterface";
import { TrackManagerFactoryInterface, TrackManagerInterface } from "./TrackManagerInterface";
import { RcsbAnnotationConfigInterface } from "../../../../RcsbAnnotationConfig/AnnotationConfigInterface";
export declare class AnnotationBlockManager implements BlockManagerInterface<[AnnotationRequestContext, SequenceAnnotations[]]> {
    private readonly rcsbAnnotationConfig;
    private readonly annotationTracks;
    private readonly polymerEntityInstanceTranslator?;
    private readonly trackManagerFactory;
    constructor(trackManagerFactory: TrackManagerFactoryInterface<[string, RcsbAnnotationConfigInterface, PolymerEntityInstanceTranslate]>, rcsbAnnotationConfig: RcsbAnnotationConfig, polymerEntityInstanceTranslator?: PolymerEntityInstanceTranslate);
    setData(requestConfig: AnnotationRequestContext, data: Array<SequenceAnnotations>): Promise<void>;
    getTracks(): Array<TrackManagerInterface>;
    private has;
    private orderedTypes;
    private processAnnotations;
    private addFeature;
    private mergeTracks;
}
