import { PluginUIComponent } from 'Molstar/mol-plugin-ui/base';
import { Structure, StructureElement } from 'Molstar/mol-model/structure';
import { SequenceWrapper } from 'Molstar/mol-plugin-ui/sequence/wrapper';
import { State } from 'Molstar/mol-state';
import { StructureSelectionManager } from 'Molstar/mol-plugin-state/manager/structure/selection';
import { PDBeMolstarPlugin } from '..';
export declare function opKey(l: StructureElement.Location): string;
export declare function splitModelEntityId(modelEntityId: string): (string | number)[];
export declare function getSequenceWrapper(state: {
    structure: Structure;
    modelEntityId: string;
    chainGroupId: number;
    operatorKey: string;
}, structureSelection: StructureSelectionManager): SequenceWrapper.Any | string;
export declare function getLigand(options: {
    chainId: string;
    ligandId: string;
}, structure: Structure): {
    type: "ATOM" | "HETATM";
    compIds: string[];
    authSeqId: number;
    chainId: string;
    structAsymId: string;
    id: string;
};
export declare function getModelEntityOptions(structure: Structure, options: {
    onlyPolymers: boolean;
}): [string, string][];
export declare function getChainOptions(structure: Structure, modelEntityId: string): [number, string][];
export declare function getEntityChainPairs(state: State, options: {
    onlyPolymers: boolean;
}): EntityChainPairs;
export declare function getEntityIdFromChainId(chainOptions: EntityChainPairs["chainOptions"], chainId: string): string;
export declare function getChainNumberedIdFromChainId(chainOptions: EntityChainPairs["chainOptions"], chainId: string): number;
export declare function getChainIdFromNumberedId(chainOptions: EntityChainPairs["chainOptions"], chainNumberedId: string): string;
export declare function getStructAsymIdFromChainId(chainOptions: EntityChainPairs["chainOptions"], chainId: string): string;
export declare function getEntityIdFromStructAsymId(chainOptions: EntityChainPairs["chainOptions"], structAsymId: string): string;
export declare function getChainNumberedIdFromStructAsymId(chainOptions: EntityChainPairs["chainOptions"], structAsymId: string): number;
export declare function getOperatorOptions(structure: Structure, modelEntityId: string, chainGroupId: number): [string, string][];
export declare function getStructureOptions(state: State): {
    options: [string, string][];
    all: Structure[];
};
export declare function getStructure(state: State, ref: string): Structure;
export declare type SequenceViewMode = 'single' | 'polymers' | 'all';
declare type EntityChainPairs = {
    entityOptions: [string, string][];
    chainOptions: {
        entityId: string;
        chains: [number, string][];
    }[];
};
declare type SequenceViewState = {
    structureOptions: {
        options: [string, string][];
        all: Structure[];
    };
    structure: Structure;
    structureRef: string;
    modelEntityId: string;
    chainGroupId: number;
    operatorKey: string;
    mode: SequenceViewMode;
};
declare type Props = {
    defaultMode?: SequenceViewMode;
    plugin: PDBeMolstarPlugin;
    onChainUpdate: (chainId: string) => void;
    isLigandView: () => boolean;
    sequenceCompleted: () => void;
};
export declare class SequenceView extends PluginUIComponent<Props, SequenceViewState> {
    updateViewerChain: (chainId: string) => void;
    isLigandView: () => boolean;
    state: SequenceViewState;
    entityChainPairs: EntityChainPairs | undefined;
    notPolymerEntityChainPairs: EntityChainPairs | undefined;
    lastValidChainId: string | undefined;
    componentDidMount(): void;
    private sync;
    private getStructure;
    private getSequenceWrapper;
    private getSequenceWrappers;
    private getInitialState;
    private get params();
    private get values();
    private setParamProps;
    private updateChainInViewer;
    private handleInvalidChain;
    render(): import("react/jsx-runtime").JSX.Element;
}
export {};
