import { CssLength } from '@breadstone/mosaik-themes';
import { HorizontalAlignment } from '../../../Types/HorizontalAlignment';
import { VerticalAlignment } from '../../../Types/VerticalAlignment';
import { LayoutElement } from '../Abstracts/LayoutElement';
import type { IStackElementProps } from './IStackElementProps';
declare const StackElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Reversible").IReversibleProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Fitable").IFitableProps) & typeof LayoutElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Stack - A layout component used to arrange other components in a stacked manner.
 *
 * @description
 * The Stack component is a layout element designed to arrange child components or elements in a stacked or layered manner,
 * where each child is placed on top of the previous one. It is commonly used for creating vertical or horizontal stacks
 * of content, such as menus, navigation bars, or card layouts.
 * Stacks provide a simple way to control the order and alignment of elements within a container, making it easy to create
 * visually appealing and organized layouts in web and application interfaces.
 *
 * @element mosaik-stack
 * @category Layout
 *
 * @slot - The default slot.
 *
 * @example
 * ```html
 * <mosaik-stack></mosaik-stack>
 * ```
 *
 * @public
 */
export declare class StackElement extends StackElement_base implements IStackElementProps {
    private _gap;
    private _horizontalAlignment;
    private _verticalAlignment;
    /**
     * Constructs a new instance of the `StackElement` class.
     *
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @override
     * @readonly
    */
    static get is(): string;
    /**
     * The `gap` represents the space between the child elements.
     *
     * @public
     * @type CssLength
     */
    get gap(): CssLength;
    set gap(value: CssLength);
    /**
     * Gets or sets the `horizontalAlignment` property.
     *
     * @public
     * @attr
     */
    get horizontalAlignment(): HorizontalAlignment;
    set horizontalAlignment(value: HorizontalAlignment);
    /**
     * Gets or sets the `verticalAlignment` property.
     *
     * @public
     * @attr
     */
    get verticalAlignment(): VerticalAlignment;
    set verticalAlignment(value: VerticalAlignment);
}
/**
 * @public
 */
export declare namespace StackElement {
    type Props = IStackElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-stack': StackElement;
    }
}
export {};
//# sourceMappingURL=StackElement.d.ts.map