export default class ScaleInstanceManager {
    /**
     * @param {object} options
     * @param {() => { createExpression: (expr: string) => import("../paramRuntime/types.js").ExprRefFunction }} options.getParamRuntime
     * @param {() => void} options.onRangeChange
     * @param {() => void} [options.onDomainChange]
     * @param {() => import("../genome/genomeStore.js").default | undefined} [options.getGenomeStore]
     */
    constructor({ getParamRuntime, onRangeChange, onDomainChange, getGenomeStore, }: {
        getParamRuntime: () => {
            createExpression: (expr: string) => import("../paramRuntime/types.js").ExprRefFunction;
        };
        onRangeChange: () => void;
        onDomainChange?: () => void;
        getGenomeStore?: () => import("../genome/genomeStore.js").default | undefined;
    });
    get scale(): import("../types/encoder.js").VegaScale & {
        props: import("../spec/scale.js").Scale;
    };
    resetScale(): void;
    /**
     * @param {import("../spec/scale.js").Scale["assembly"]} [assembly]
     * @returns {import("../genome/genome.js").default}
     */
    getLocusGenome(assembly?: import("../spec/scale.js").Scale["assembly"]): import("../genome/genome.js").default;
    /**
     * @param {import("../spec/scale.js").Scale} props
     * @returns {ScaleWithProps}
     */
    createScale(props: import("../spec/scale.js").Scale): import("../types/encoder.js").VegaScale & {
        props: import("../spec/scale.js").Scale;
    };
    /**
     * @param {import("../spec/scale.js").Scale} props
     */
    reconfigureScale(props: import("../spec/scale.js").Scale): void;
    /**
     * @param {() => void} callback
     * @returns {void}
     */
    withDomainNotificationsSuppressed(callback: () => void): void;
    dispose(): void;
    #private;
}
//# sourceMappingURL=scaleInstanceManager.d.ts.map