/** * Resolves genome assemblies for locus scales. * * Keeps configured genome definitions and loaded `Genome` instances, supports * named and inline assemblies, and deduplicates concurrent URL loads. * * `ensureAssembly(...)` is the async loading boundary. `getGenome(...)` is * synchronous and expects required URL-backed assemblies to be ensured first. * * The default assembly comes from root `assembly`, a single configured genome, * or a single already-loaded built-in genome. */ export default class GenomeStore { /** * @param {string} baseUrl */ constructor(baseUrl: string); /** @type {Map} */ genomes: Map; baseUrl: string; /** * @param {import("../spec/genome.js").GenomeConfig} genomeConfig */ initialize(genomeConfig: import("../spec/genome.js").GenomeConfig): Promise; /** * @param {Map} genomesByName * @param {string} [defaultAssembly] */ configureGenomes(genomesByName: Map, defaultAssembly?: string): void; /** * @returns {string | undefined} */ getDefaultAssemblyName(): string | undefined; /** * @param {(string | import("../spec/scale.js").InlineLocusAssembly | undefined)[]} assemblies */ ensureAssemblies(assemblies: (string | import("../spec/scale.js").InlineLocusAssembly | undefined)[]): Promise; /** * @param {string | import("../spec/scale.js").InlineLocusAssembly} assembly * @returns {Promise} */ ensureAssembly(assembly: string | import("../spec/scale.js").InlineLocusAssembly): Promise; /** * @param {string | import("../spec/scale.js").InlineLocusAssembly} [name] If not given, a default genome is returned. * @returns {Genome} */ getGenome(name?: string | import("../spec/scale.js").InlineLocusAssembly): Genome; #private; } import Genome from "./genome.js"; //# sourceMappingURL=genomeStore.d.ts.map