/**
 * @typedef {import("../spec/channel.js").ChannelWithScale} ChannelWithScale
 * @typedef {import("../spec/scale.js").Scale} Scale
 * @typedef {import("../view/view.js").default} View
 * @typedef {import("./scaleResolution.js").default} ScaleResolution
 *
 * @typedef {object} ViewLevelScaleConfigMapping
 * @prop {View} view
 * @prop {ChannelWithScale} channel
 * @prop {Scale} config
 * @prop {ScaleResolution | undefined} resolution
 */
/**
 * Maps view-level scale configs to the unique scale resolution visible from
 * each configured subtree. Configs with no matching resolution stay pending.
 *
 * @param {View} root
 * @returns {ViewLevelScaleConfigMapping[]}
 */
export function mapViewLevelScaleConfigs(root: View): ViewLevelScaleConfigMapping[];
/**
 * Maps view-level scale configs and attaches non-pending configs to their
 * target resolutions.
 *
 * @param {View} root
 * @returns {ViewLevelScaleConfigMapping[]}
 */
export function attachViewLevelScaleConfigs(root: View): ViewLevelScaleConfigMapping[];
/**
 * Clears view-level scale configs owned by views in the subtree.
 *
 * @param {View} root
 */
export function clearViewLevelScaleConfigs(root: View): void;
export type ChannelWithScale = import("../spec/channel.js").ChannelWithScale;
export type Scale = import("../spec/scale.js").Scale;
export type View = import("../view/view.js").default;
export type ScaleResolution = import("./scaleResolution.js").default;
export type ViewLevelScaleConfigMapping = {
    view: View;
    channel: ChannelWithScale;
    config: Scale;
    resolution: ScaleResolution | undefined;
};
//# sourceMappingURL=viewLevelScaleConfig.d.ts.map