/**
 * @typedef {import("../spec/scale.js").Scale["assembly"]} AssemblyReference
 */
/**
 * @typedef {object} AssemblyPreflightResult
 * @prop {AssemblyReference[]} assemblies
 * @prop {boolean} needsDefaultAssembly
 */
/**
 * @param {import("../view/view.js").default} viewRoot
 * @returns {AssemblyPreflightResult}
 */
export function collectAssembliesFromViewHierarchy(viewRoot: import("../view/view.js").default): AssemblyPreflightResult;
/**
 * Ensures that all assemblies required by the given view hierarchy are loaded
 * before any scale initialization path can run.
 *
 * Reminder: call this immediately after view hierarchy creation and before
 * operations that can implicitly initialize scales (for example, step-based
 * size resolution, dynamic opacity setup, or encoder initialization).
 *
 * @param {import("../view/view.js").default} viewRoot
 * @param {import("./genomeStore.js").default} genomeStore
 */
export function ensureAssembliesForView(viewRoot: import("../view/view.js").default, genomeStore: import("./genomeStore.js").default): Promise<void>;
export type AssemblyReference = import("../spec/scale.js").Scale["assembly"];
export type AssemblyPreflightResult = {
    assemblies: AssemblyReference[];
    needsDefaultAssembly: boolean;
};
//# sourceMappingURL=assemblyPreflight.d.ts.map