import { RcsbFvRowConfigInterface } from '@rcsb/rcsb-saguaro';
import { AnnotationFeatures, Feature } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
import { RcsbClient } from "../../RcsbGraphQL/RcsbClient";
import { PolymerEntityInstanceTranslate } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
import { AnnotationCollectConfig, AnnotationCollectorInterface } from "./AnnotationCollectorInterface";
import { AnnotationConfigInterface } from "../../RcsbAnnotationConfig/AnnotationConfigInterface";
import { ExternalTrackBuilderInterface } from "../FeatureTools/ExternalTrackBuilderInterface";
export declare class AnnotationCollector implements AnnotationCollectorInterface {
    private readonly rcsbAnnotationConfig;
    private readonly annotationsConfigData;
    readonly rcsbFvQuery: RcsbClient;
    private polymerEntityInstanceTranslator;
    private requestStatus;
    private rawFeatures;
    private readonly rawFeaturesSubject;
    private readonly annotationsConfigDataSubject;
    private readonly annotationTrackManager;
    private annotationFeatures;
    private readonly annotationFeaturesSubject;
    private externalTrackBuilder;
    constructor(acm?: AnnotationConfigInterface);
    collect(requestConfig: AnnotationCollectConfig): Promise<Array<RcsbFvRowConfigInterface>>;
    getPolymerEntityInstanceTranslator(): PolymerEntityInstanceTranslate;
    setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
    setExternalTrackBuilder(externalTrackBuilder: ExternalTrackBuilderInterface): void;
    getFeatures(): Promise<Array<Feature>>;
    getAnnotationConfigData(): Promise<Array<RcsbFvRowConfigInterface>>;
    getAnnotationFeatures(): Promise<Array<AnnotationFeatures>>;
    private processRcsbPdbAnnotations;
    private requestAnnotations;
    private complete;
}
