/**
 * @template {import("../spec/view.js").LayerSpec} [TSpec=import("../spec/view.js").LayerSpec]
 * @extends {ContainerView<TSpec>}
 */
export default class LayerView<TSpec extends import("../spec/view.js").LayerSpec = import("../spec/view.js").LayerSpec> extends ContainerView<TSpec> {
    /**
     *
     * @param {TSpec} spec
     * @param {import("../types/viewContext.js").default} context
     * @param {ContainerView} layoutParent
     * @param {import("./view.js").default} dataParent
     * @param {string} name
     * @param {import("./view.js").ViewOptions} [options]
     */
    constructor(spec: TSpec, context: import("../types/viewContext.js").default, layoutParent: ContainerView, dataParent: import("./view.js").default, name: string, options?: import("./view.js").ViewOptions);
    /**
     * Adds a child spec dynamically. Intended for post-initialization updates.
     *
     * @param {import("../spec/view.js").LayerSpec | import("../spec/view.js").UnitSpec | import("../spec/view.js").ImportSpec} childSpec
     * @param {number} [index]
     * @returns {Promise<LayerView | import("./unitView.js").default>}
     */
    addChildSpec(childSpec: import("../spec/view.js").LayerSpec | import("../spec/view.js").UnitSpec | import("../spec/view.js").ImportSpec, index?: number): Promise<LayerView | import("./unitView.js").default>;
    /**
     * Removes a child by index. Intended for post-initialization updates.
     *
     * @param {number} index
     */
    removeChildAt(index: number): Promise<void>;
    get children(): (import("./unitView.js").default<import("../spec/view.js").UnitSpec> | LayerView<import("../spec/view.js").LayerSpec>)[];
    #private;
}
import ContainerView from "./containerView.js";
//# sourceMappingURL=layerView.d.ts.map