import type { AnyConfigurationModel } from '../configuration';
import type { Assembly } from './assembly';
import type PluginManager from '../PluginManager';
import type RpcManager from '../rpc/RpcManager';
import type { IAnyType } from 'mobx-state-tree';
type AdapterConf = Record<string, unknown>;
declare function assemblyManagerFactory(conf: IAnyType, pm: PluginManager): import("mobx-state-tree").IModelType<{
    assemblies: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
        configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
    }, {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
}, {
    readonly assemblyNameMap: Record<string, {
        configuration: any;
    } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
        configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
    }, {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
} & {
    get(asmName: string): ({
        configuration: any;
    } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
        configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
    }, {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
    readonly assemblyNamesList: any[];
    readonly assemblyList: AnyConfigurationModel[];
    readonly rpcManager: RpcManager;
} & {
    waitForAssembly(assemblyName: string): Promise<({
        configuration: any;
    } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
        configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
    }, {
        error: unknown;
        loadingP: Promise<void> | undefined;
        volatileRegions: import("./assembly").BasicRegion[] | undefined;
        refNameAliases: {
            [x: string]: string;
        } | undefined;
        lowerCaseRefNameAliases: {
            [x: string]: string;
        } | undefined;
        cytobands: import("../util").Feature[] | undefined;
    } & {
        getConf(arg: string): any;
    } & {
        readonly initialized: boolean;
        readonly name: string;
        readonly regions: import("./assembly").BasicRegion[] | undefined;
        readonly aliases: string[];
        readonly displayName: string | undefined;
        hasName(name: string): boolean;
        readonly allAliases: string[];
        readonly allRefNames: string[] | undefined;
        readonly lowerCaseRefNames: string[] | undefined;
        readonly allRefNamesWithLowerCase: string[] | undefined;
        readonly rpcManager: RpcManager;
        readonly refNameColors: string[];
    } & {
        readonly refNames: string[] | undefined;
    } & {
        getCanonicalRefName(refName: string): string | undefined;
        getRefNameColor(refName: string): string | undefined;
        isValidRefName(refName: string): boolean;
    } & {
        setLoaded({ regions, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
            regions: import("../util").Region[];
            refNameAliases: {
                [x: string]: string;
            };
            lowerCaseRefNameAliases: {
                [x: string]: string;
            };
            cytobands: import("../util").Feature[];
        }): void;
        setError(e: unknown): void;
        setRegions(regions: import("../util").Region[]): void;
        setRefNameAliases(aliases: {
            [x: string]: string;
        }, lowerCaseAliases: {
            [x: string]: string;
        }): void;
        setCytobands(cytobands: import("../util").Feature[]): void;
        setLoadingP(p?: Promise<void>): void;
        load(): Promise<void>;
        loadPre(): Promise<void>;
    } & {
        getAdapterMapEntry(adapterConf: {
            [x: string]: unknown;
        }, options: import("../data_adapters/BaseAdapter").BaseOptions): Promise<import("./assembly").RefNameMap>;
        getRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
        getReverseRefNameMapForAdapter(adapterConf: {
            [x: string]: unknown;
        }, opts: import("../data_adapters/BaseAdapter").BaseOptions): Promise<{
            [x: string]: string;
        }>;
    }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined>;
    getRefNameMapForAdapter(adapterConf: AdapterConf, assemblyName: string | undefined, opts: {
        stopToken?: string;
        sessionId: string;
    }): Promise<{
        [x: string]: string;
    } | undefined>;
    getReverseRefNameMapForAdapter(adapterConf: AdapterConf, assemblyName: string | undefined, opts: {
        stopToken?: string;
        sessionId: string;
    }): Promise<{
        [x: string]: string;
    } | undefined>;
    isValidRefName(refName: string, assemblyName: string): boolean;
} & {
    afterAttach(): void;
    removeAssembly(asm: Assembly): void;
    addAssembly(configuration: any): void;
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
export default assemblyManagerFactory;
