import { SaguaroChain, SaguaroRange, SaguaroRegionList, SaguaroSet } from "../RcsbFvStructure/StructureViewerInterface";
export interface RegionSelectionInterface {
    begin: number;
    end: number;
    isEmpty?: boolean;
    source: 'structure' | 'sequence';
}
type typedSelection = SaguaroRegionList & {
    source: RegionSelectionInterface["source"];
};
export declare class RcsbFvSelectorManager {
    private lastSelection;
    private selection;
    private hover;
    selectFromRegion(operation: "set" | "add", modelId: string, labelAsymId: string, region: RegionSelectionInterface, mode: 'select' | 'hover', operatorName?: string): void;
    private addSelectionFromRegion;
    selectFromMultipleRegions(operation: "set" | "add", regions: {
        modelId: string;
        labelAsymId: string;
        region: RegionSelectionInterface;
        operatorName?: string;
    }[], mode: 'select' | 'hover'): void;
    addSelectionFromMultipleRegions(regions: (SaguaroChain & {
        region: RegionSelectionInterface;
    })[], mode: 'select' | 'hover'): void;
    setSelectionFromResidueSelection(res: Array<SaguaroSet>, mode: 'select' | 'hover', source: 'structure' | 'sequence'): void;
    getSelection(mode: 'select' | 'hover'): Array<SaguaroRegionList>;
    getLastSelection(): typedSelection | null;
    setLastSelection(selection: typedSelection | null): void;
    getSelectionWithCondition(modelId: string, labelAsymId: string, mode: 'select' | 'hover', operatorName?: string): SaguaroRegionList | undefined;
    clearSelection(mode: 'select' | 'hover', selection?: Partial<SaguaroChain>): void;
    selectionSource(mode: 'select' | 'hover', region: SaguaroChain & SaguaroRange): 'structure' | 'sequence' | undefined;
}
export {};
