/**
 * @param {View} view
 */
export function isClippedChildren(view: import("../view.js").default<import("../../spec/view.js").ViewSpec>): boolean;
/**
 *
 * @param {import("../layout/rectangle.js").default} coords
 * @param {import("../../spec/axis.js").AxisOrient} orient
 * @param {AxisView} axisView
 */
export function translateAxisCoords(coords: import("../layout/rectangle.js").default, orient: import("../../spec/axis.js").AxisOrient, axisView: AxisView): Rectangle;
/**
 * Modeled after: https://vega.github.io/vega/docs/layout/
 *
 * This should take care of the following:
 * - Composition: [hv]concat / facet / repeat
 * - Views
 * - Axes
 * - Grid lines
 * - View background
 * - View titles
 * - Facet (column / row) titles
 * - Header / footer
 * - Zoom / pan
 * - Scrollable viewports (with scrollbars)
 * - And later on, brushing, legend(?)
 *
 * @template {import("../../spec/view.js").AnyConcatSpec} [TSpec=import("../../spec/view.js").AnyConcatSpec]
 * @extends {ContainerView<TSpec>}
 */
export default class GridView<TSpec extends import("../../spec/view.js").AnyConcatSpec = import("../../spec/view.js").AnyConcatSpec> extends ContainerView<TSpec> {
    /**
     *
     * @param {TSpec} spec
     * @param {import("../../types/viewContext.js").default} context
     * @param {ContainerView} layoutParent
     * @param {View} dataParent
     * @param {string} name
     * @param {number} columns
     * @param {import("../view.js").ViewOptions} [options]
     */
    constructor(spec: TSpec, context: import("../../types/viewContext.js").default, layoutParent: ContainerView, dataParent: import("../view.js").default<import("../../spec/view.js").ViewSpec>, name: string, columns: number, options?: import("../view.js").ViewOptions);
    wrappingFacet: boolean;
    /**
     * @param {View} view
     */
    appendChild(view: import("../view.js").default<import("../../spec/view.js").ViewSpec>): void;
    /**
     * Appends a child view without initializing dataflow or axes.
     * Intended for ConcatView when building the initial hierarchy.
     *
     * @param {View} view
     * @returns {GridChild}
     */
    appendChildView(view: import("../view.js").default<import("../../spec/view.js").ViewSpec>): GridChild;
    /**
     * Inserts a child view without initializing dataflow or axes.
     * Callers should create axes, initialize subtree data, and request layout.
     *
     * @param {View} view
     * @param {number} index
     * @returns {GridChild}
     */
    insertChildViewAt(view: import("../view.js").default<import("../../spec/view.js").ViewSpec>, index: number): GridChild;
    /**
     * Removes a child by instance and disposes its subtree.
     * Callers should sync shared axes and request layout.
     *
     * @param {View} view
     */
    removeChildView(view: import("../view.js").default<import("../../spec/view.js").ViewSpec>): void;
    /**
     * Removes a child by index and disposes its subtree.
     * Callers should sync shared axes and request layout.
     *
     * @param {number} index
     */
    removeChildAt(index: number): void;
    /**
     * @param {View[]} views
     */
    setChildren(views: import("../view.js").default<import("../../spec/view.js").ViewSpec>[]): void;
    /**
     * Read-only view to children
     */
    get children(): import("../view.js").default<import("../../spec/view.js").ViewSpec>[];
    get childCount(): number;
    /**
     * @protected
     */
    protected createAxes(): Promise<void>;
    /**
     * Recreates shared axes based on current axis resolutions.
     *
     * This is used after dynamic child insert/remove to keep shared axes in sync.
     */
    syncSharedAxes(): Promise<void>;
    #private;
}
import AxisView from "../axisView.js";
import Rectangle from "../layout/rectangle.js";
import ContainerView from "../containerView.js";
import GridChild from "./gridChild.js";
//# sourceMappingURL=gridView.d.ts.map