import { RcsbFvRowConfigInterface } from '@rcsb/rcsb-saguaro';
import { AlignedRegion, AlignmentResponse } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
import { PolymerEntityInstanceTranslate, TranslateContextInterface } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
import { RcsbClient } from "../../RcsbGraphQL/RcsbClient";
import { AlignmentCollectConfig, SequenceCollectorInterface } from "./SequenceCollectorInterface";
import { ExternalTrackBuilderInterface } from "../FeatureTools/ExternalTrackBuilderInterface";
export interface AlignedObservedRegion extends AlignedRegion {
    unModelled?: boolean;
    openBegin?: boolean;
    openEnd?: boolean;
}
export interface SequenceCollectorDataInterface {
    sequence: Array<RcsbFvRowConfigInterface>;
    alignment: Array<RcsbFvRowConfigInterface>;
}
export declare class SequenceCollector implements SequenceCollectorInterface {
    private sequenceLength;
    private targets;
    private requestStatus;
    private dynamicDisplay;
    private readonly helper;
    readonly rcsbFvQuery: RcsbClient;
    private polymerEntityInstanceTranslator;
    private readonly targetsSubject;
    private alignmentResponse;
    private readonly alignmentResponseSubject;
    private externalTrackBuilder;
    private tagObservedRegions;
    collect(requestConfig: AlignmentCollectConfig, filter?: Array<string>, entityInstanceMapCollector?: (instanceIds: Array<string>) => Promise<void>, tagObservedRegions?: (region: AlignedRegion, commonContext: TranslateContextInterface) => Array<AlignedObservedRegion>): Promise<SequenceCollectorDataInterface>;
    getTargets(): Promise<Array<string>>;
    getAlignmentResponse(): Promise<AlignmentResponse>;
    getSequenceLength(): number;
    getPolymerEntityInstanceTranslator(): PolymerEntityInstanceTranslate;
    setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
    setExternalTrackBuilder(externalTrackBuilder: ExternalTrackBuilderInterface): void;
    private complete;
    private buildAlignments;
    private buildSequenceTrack;
    private collectGenomeRegions;
    private requestAlignment;
}
