import { SequenceAnnotations, Features } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes";
import { RcsbFvDisplayTypes } from "@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFvConfig/RcsbFvDefaultConfigValues";
import { AnnotationConfigInterface, RcsbAnnotationConfigInterface } from "./AnnotationConfigInterface";
import { AnnotationRequestContext } from "../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
export interface RcsbMergedTypesInterface {
    merged_types: Array<string>;
    title: string;
    type: string;
    display: RcsbFvDisplayTypes;
}
export declare class RcsbAnnotationConfig {
    private readonly annotationConfigMap;
    private readonly annotationMap;
    private readonly annotationTypes;
    private readonly mergedTypes;
    constructor(acm?: AnnotationConfigInterface);
    getConfig(type: string): RcsbAnnotationConfigInterface | undefined;
    allTypes(): Set<string>;
    uniprotOrder(): Array<string>;
    instanceOrder(): Array<string>;
    entityOrder(): Array<string>;
    getAnnotationType(requestConfig: AnnotationRequestContext, ann: SequenceAnnotations, feature: Features): Promise<string>;
    isMergedType(type: string): boolean;
    getMergeConfig(type: string): RcsbMergedTypesInterface | undefined;
    private addNewType;
    private checkAndIncludeNewType;
    static randomRgba(str?: string): string;
    private addProvenance;
    addMultipleProvenance(type: string, provenanceList: Array<string>): void;
    private initTypes;
}
