import { RcsbContextType, RcsbFvAdditionalConfig } from "../RcsbFvModule/RcsbFvModuleInterface";
import { PolymerEntityInstanceInterface } from "../../RcsbCollectTools/DataCollectors/PolymerEntityInstancesCollector";
import { RcsbFvModulePublicInterface } from "../RcsbFvModule/RcsbFvModuleInterface";
export interface UniprotSequenceOnchangeInterface extends Partial<PolymerEntityInstanceInterface> {
    upAcc: string;
}
export interface UniprotSequenceConfig {
    beforeChangeCallback?: (x: UniprotSequenceOnchangeInterface, module: RcsbFvModulePublicInterface | undefined) => undefined | RcsbContextType;
    onChangeCallback?: (x: UniprotSequenceOnchangeInterface, module: RcsbFvModulePublicInterface) => void;
}
export declare class RcsbFvUniprotBuilder {
    static buildUniprotMultipleEntitySequenceFv(elementFvId: string, elementSelectId: string, upAcc: string, config?: UniprotSequenceConfig, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
    static buildUniprotFv(elementId: string, upAcc: string, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
    static buildUniprotEntityFv(elementId: string, upAcc: string, entityId: string, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
    static buildUniprotEntityInstanceFv(elementId: string, upAcc: string, entityId: string, instanceId: string, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
    static buildUniprotAlignmentFv(elementId: string, upAcc: string, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
}
