import { CustomElement } from '../../Abstracts/CustomElement';
import type { IRegionViewElementProps } from './IRegionViewElementProps2';
declare const RegionViewElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * View - A view definition component for use within a Region.
 *
 * Acts as a template container that stores its content for lazy instantiation.
 * The view's children are not instantiated until the view becomes active within its parent region.
 * This enables efficient memory usage and clean lifecycle management for complex view hierarchies.
 *
 * @name ViewElement
 * @element mosaik-region-view
 * @category Grouping
 *
 * @slot default - The content to be rendered when this view becomes active
 *
 * @example
 * ```html
 * <mosaik-region active="home">
 *   <mosaik-region-view name="home" default>
 *     <my-home-component></my-home-component>
 *   </mosaik-region-view>
 *   <mosaik-region-view name="profile">
 *     <my-profile-component></my-profile-component>
 *   </mosaik-region-view>
 * </mosaik-region>
 * ```
 *
 * @public
 */
export declare class RegionViewElement extends RegionViewElement_base implements IRegionViewElementProps {
    private _name;
    private _default;
    private _template;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * The unique name identifier for this view within a region.
     *
     * @public
     */
    get name(): string;
    set name(value: string);
    /**
     * Whether this view is the default active view in the region.
     *
     * @public
     */
    get default(): boolean;
    set default(value: boolean);
    /**
     * @public
     * @override
     */
    firstUpdated(changedProperties: Map<keyof this, unknown>): void;
    /**
     * Gets the template containing the view's content.
     *
     * @returns The template element or null if not yet captured
     * @public
     */
    getTemplate(): HTMLTemplateElement | null;
    /**
     * Captures the light DOM children as a template and removes them from the DOM.
     * This prevents custom elements from being instantiated until the view is activated.
     *
     * @private
     */
    private captureContentAsTemplate;
}
/**
 * @public
 */
export declare namespace RegionViewElement {
    type Props = IRegionViewElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-region-view': RegionViewElement;
    }
}
export {};
//# sourceMappingURL=RegionViewElement.d.ts.map