import { RcsbFvTrackDataElementGapInterface, RcsbFvTrackDataElementInterface } from "@rcsb/rcsb-saguaro";
import { Feature, FeaturePosition, SequenceReference, Source } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
import { PolymerEntityInstanceTranslate } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
import { RcsbAnnotationConfigInterface } from "../../RcsbAnnotationConfig/AnnotationConfigInterface";
import { AnnotationProcessingInterface } from "./AnnotationCollectorInterface";
export interface FeaturePositionGaps extends FeaturePosition {
    gaps?: Array<RcsbFvTrackDataElementGapInterface>;
}
export declare class AnnotationTrack {
    private valueRange;
    private readonly entityInstanceTranslator;
    private readonly type;
    private readonly annotationConfig;
    private readonly trackElementMap;
    constructor(type: string, annotationConfig: RcsbAnnotationConfigInterface, entityInstanceTranslator: PolymerEntityInstanceTranslate);
    getRange(): {
        min: number;
        max: number;
    };
    addFeature(ann: {
        reference: SequenceReference | undefined;
        queryId: string;
        source: Source;
        targetId: string;
        feature: Feature;
    }, annotationProcessing?: AnnotationProcessingInterface): void;
    size(): number;
    forEach(f: (ann: RcsbFvTrackDataElementInterface, loc: string) => void): void;
    addAll(trackElementsMap: AnnotationTrack, color?: string): void;
    getTrackProvenance(): Set<string>;
    set(loc: string, ann: RcsbFvTrackDataElementInterface): void;
    values(): Array<RcsbFvTrackDataElementInterface>;
    private buildRcsbFvTrackDataElement;
    private addRange;
    private transformToNumerical;
    private expandValues;
    private addAuthorResIds;
    private isNumericalDisplay;
    private annotationRangeKeys;
}
