import { CssLength } from '@breadstone/mosaik-themes';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { IBoxElementProps } from './IBoxElementProps';
declare const BoxElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Dimensionable").IDimensionableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Insetable").IInsetableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Box - A rectangular container used to group or layout other elements.
 *
 * @description
 * Is a equivalent to a `<div>` element with additional features.
 * Also known as a "container" or "panel".
 *
 * @name Box
 * @element mosaik-box
 * @category Primitives
 *
 * @slot - Default slot for child elements.
 * @slot dismiss - Slot for dismiss button.
 *
 * @public
 */
export declare class BoxElement extends BoxElement_base implements IBoxElementProps {
    private readonly _inlineStyleController;
    private _highlighted;
    private _cornered;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `highlighted` property.
     *
     * @public
     * @attr
     */
    get highlighted(): boolean;
    set highlighted(value: boolean);
    /**
     * Gets or sets the `cornered` property.
     *
     * @public
     * @attr
     */
    get cornered(): boolean;
    set cornered(value: boolean);
    /**
     * @protected
     */
    protected onWidthPropertyChanged(_prev?: CssLength, next?: CssLength): void;
    /**
     * @protected
     */
    protected onHeightPropertyChanged(_prev?: CssLength, next?: CssLength): void;
    /**
     * @protected
     */
    protected onFitPropertyChanged(_prev?: string, next?: string): void;
}
/**
 * @public
 */
export declare namespace BoxElement {
    type Props = IBoxElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-box': BoxElement;
    }
}
export {};
//# sourceMappingURL=BoxElement.d.ts.map