/**
 *
 * @param {import("../spec/channel.js").ChannelDef | import("../spec/view.js").FacetMapping} def
 * @returns {spec is FacetFieldDef}
 */
export function isFacetFieldDef(def: import("../spec/channel.js").ChannelDef | import("../spec/view.js").FacetMapping): spec is FacetFieldDef;
/**
 *
 * @param {import("../spec/channel.js").FacetFieldDef | import("../spec/view.js").FacetMapping} def
 * @returns {spec is FacetMapping}
 */
export function isFacetMapping(def: import("../spec/channel.js").FacetFieldDef | import("../spec/view.js").FacetMapping): spec is FacetMapping;
/**
 * Returns all marks in the order (DFS) they are rendered
 * @param {View} root
 */
export function getMarks(root: View): import("../marks/mark.js").default<import("../spec/mark.js").MarkProps>[];
/**
 * Returns the nodes of the view hierarchy in depth-first order.
 *
 * @param {View} root
 */
export function getFlattenedViews(root: View): View<import("../spec/view.js").ViewSpec>[];
/**
 * @param {View} root
 */
export function checkForDuplicateScaleNames(root: View): void;
/**
 * Gives names to zoomable scales that have been pulled to the root. This allows
 * the zoomed domains to be bookmarked without explicitly specifying the names.
 * This only affects the trivial but common cases, e.g., a genome-browser-like
 * view with a shared x scale.
 *
 * @param {View} root
 */
export function setImplicitScaleNames(root: View): void;
/**
 * @param {Promise<import("../marks/mark.js").default>[]} graphicsPromises
 * @param {() => boolean} [shouldFinalize]
 * @returns {Promise<void>}
 */
export function finalizeSubtreeGraphics(graphicsPromises: Promise<import("../marks/mark.js").default>[], shouldFinalize?: () => boolean): Promise<void>;
/**
 *
 * @param {View} view
 */
export function findEncodedFields(view: View): {
    view: UnitView;
    channel: import("../spec/channel.js").Channel;
    field: import("../spec/channel.js").Field;
    type: import("../spec/channel.js").Type;
}[];
/**
 * @param {import("../spec/view.js").ImportSpec} spec
 * @param {string} baseUrl
 * @param {import("../types/viewContext.js").default} viewContext
 * @returns {Promise<import("../spec/view.js").ViewSpec>}
 */
export function loadExternalViewSpec(spec: import("../spec/view.js").ImportSpec, baseUrl: string, viewContext: import("../types/viewContext.js").default): Promise<import("../spec/view.js").ViewSpec>;
/**
 * @param {function(View, View[]):void} visitor
 */
export function stackifyVisitor(visitor: (arg0: View, arg1: View[]) => void): import("./view.js").Visitor;
/**
 *
 * @param {View} root
 */
export function findUniqueViewNames(root: View): Set<string>;
/**
 * @param {import("./view.js").default} viewRoot
 */
export function calculateCanvasSize(viewRoot: import("./view.js").default): {
    width: number;
    height: number;
};
import View from "./view.js";
import UnitView from "./unitView.js";
//# sourceMappingURL=viewUtils.d.ts.map