import { CssLength } from '@breadstone/mosaik-themes';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { IMasonryElementProps } from './IMasonryElementProps';
declare const MasonryElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Fitable").IFitableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Masonry - A grid-based layout system for arranging elements in a dynamic, vertical grid.
 *
 * @description
 * The Masonry is a popular grid-based layout system used to arrange elements of varying heights in a vertical grid.
 * It is particularly useful when dealing with content like cards, images, or articles with different heights. Unlike traditional
 * grid systems, Masonry optimizes space utilization by aligning elements to fill gaps in a visually pleasing manner. This layout
 * is commonly used in websites and applications to create visually appealing and responsive grid designs.
 *
 * @element mosaik-masonry
 * @category Layout
 *
 * @slot - The default slot.
 *
 * @public
 */
export declare class MasonryElement extends MasonryElement_base implements IMasonryElementProps {
    private _gap;
    private _columns;
    /**
     * @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 `gap` represents the space between the child elements.
     *
     * @public
     * @attr
     */
    get gap(): CssLength;
    set gap(value: CssLength);
    /**
     * Gets or sets the `columns` property.
     *
     * @public
     */
    get columns(): number;
    set columns(value: number);
}
/**
 * @public
 */
export declare namespace MasonryElement {
    type Props = IMasonryElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-masonry': MasonryElement;
    }
}
export {};
//# sourceMappingURL=MasonryElement.d.ts.map