import { PolymerEntityInstanceTranslate } from "../RcsbUtils/Translators/PolymerEntityInstanceTranslate";
import { EntryAssemblyTranslate } from "../RcsbUtils/Translators/EntryAssemblyTranslate";
import { GroupPropertiesProvider } from "../RcsbUtils/Groups/GroupPropertiesProvider";
import { QueryResult } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchResultInterface";
import { InterfaceInstanceTranslate } from "../RcsbUtils/Translators/InterfaceInstanceTranslate";
import { PolymerEntityChromosomeTranslate } from "../RcsbUtils/Translators/PolymerEntityChromosomeTranslate";
import { QueryPolymer_Entity_GroupArgs } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Yosemite/GqlTypes";
import { EntryPropertyInterface } from "../RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector";
import { FacetType } from "../RcsbSeacrh/FacetStore/FacetMemberInterface";
import { ReturnType } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchEnums";
import { ResultsContentType, SearchQuery } from "@rcsb/rcsb-api-tools/lib/RcsbSearch/Types/SearchQueryInterface";
import { RequestConfig } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/GraphQLRequest";
import { PolymerEntityInterface } from "../RcsbCollectTools/DataCollectors/MultiplePolymerEntityCollector";
import { InstanceSequenceInterface } from "../RcsbCollectTools/DataCollectors/MultipleInstanceSequencesCollector";
import { SearchQueryType } from "@rcsb/rcsb-search-tools/lib/SearchQueryTools/SearchQueryInterfaces";
declare class RcsbRequestContextManager {
    private readonly polymerEntityToInstanceMap;
    private readonly entryToAssemblyMap;
    private readonly groupPropertyMap;
    private readonly searchRequestMap;
    private readonly interfaceToInstanceMap;
    private readonly assemblyInterfacesMap;
    private readonly entryPropertyMap;
    private readonly entityPropertyMap;
    private readonly instanceSequenceMap;
    private readonly instanceCollector;
    private readonly assemblyCollector;
    private readonly entityChrCollector;
    private readonly groupMemberCollector;
    private readonly multipleEntryPropertyCollector;
    private readonly interfaceCollector;
    private readonly assemblyInterfacesCollector;
    private readonly multipleEntityCollector;
    private readonly multipleInstanceSequenceCollector;
    readonly modelKey: string;
    getEntityProperties(entityIds: string | Array<string>): Promise<Array<PolymerEntityInterface>>;
    getEntryProperties(entryIds: string | Array<string>): Promise<Array<EntryPropertyInterface>>;
    getInstanceSequences(instanceIds: string | string[]): Promise<InstanceSequenceInterface[]>;
    getEntityToInstance(entryId: string): Promise<PolymerEntityInstanceTranslate>;
    getEntryToAssembly(entryId: string): Promise<EntryAssemblyTranslate>;
    getEntityToChromosome(entityIds: Array<string>): Promise<PolymerEntityChromosomeTranslate>;
    getGroupMemberProperties(groupQuery: QueryPolymer_Entity_GroupArgs): Promise<GroupPropertiesProvider>;
    getSearchQuery(searchQuery: SearchQuery): Promise<QueryResult | null>;
    getSearchQueryFacets(query: SearchQueryType, facets: FacetType[], returnType: ReturnType, resultsContentType: ResultsContentType): Promise<QueryResult | null>;
    getInterfaceToInstance(interfaceId: string): Promise<InterfaceInstanceTranslate>;
    private getAssemblyInterfaces;
    initializeBorregoClient(config: {
        api?: string;
        requestConfig?: RequestConfig;
    }): void;
    initializeYosemiteClient(config: {
        api?: string;
        requestConfig?: RequestConfig;
    }): void;
    initializeArchesClient(config: {
        uri?: string;
        fetch?: (input: RequestInfo, requestConfig?: RequestInit) => Promise<Response>;
        requestConfig?: RequestInit;
    }): void;
}
export declare const rcsbRequestCtxManager: RcsbRequestContextManager;
export {};
