import { AutoFlow } from '../../../Types/AutoFlow';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { ITileListElementProps } from './ITileListElementProps';
declare const TileListElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * TileList - A responsive grid container that arranges child items in a configurable tile layout.
 *
 * Creates a CSS Grid-based layout with customizable columns, row heights, and spacing.
 * Ideal for displaying cards, images, or other content in an organized grid pattern.
 * Supports drag-and-drop reordering of tiles.
 *
 * @name TileListElement
 * @element mosaik-tile-list
 * @category Layout
 *
 * @csspart tile-list - The main grid container element
 *
 * @cssprop --tile-list-cols - Number of grid columns (default: var(--cols))
 * @cssprop --tile-list-row-height - Height of each grid row
 * @cssprop --tile-list-gap - Spacing between grid items
 * @cssprop --tile-list-auto-flow - Grid auto-flow direction (row | column | row dense | column dense)
 *
 * @dependency TileListItemElement - Container for individual tile items
 *
 * @example
 * ```html
 * <!-- Basic tile grid -->
 * <mosaik-tile-list cols="3" row-height="200px" gutter-size="16px">
 *   <mosaik-tile-list-item>
 *     <img src="image1.jpg" alt="Image 1">
 *   </mosaik-tile-list-item>
 *   <mosaik-tile-list-item>
 *     <img src="image2.jpg" alt="Image 2">
 *   </mosaik-tile-list-item>
 *   <mosaik-tile-list-item>
 *     <img src="image3.jpg" alt="Image 3">
 *   </mosaik-tile-list-item>
 * </mosaik-tile-list>
 *
 * <!-- Responsive card grid -->
 * <mosaik-tile-list cols="4" auto-flow="row" gutter-size="24px">
 *   <mosaik-tile-list-item>
 *     <div class="card">Card content 1</div>
 *   </mosaik-tile-list-item>
 *   <mosaik-tile-list-item>
 *     <div class="card">Card content 2</div>
 *   </mosaik-tile-list-item>
 * </mosaik-tile-list>
 * ```
 *
 * @public
 */
export declare class TileListElement extends TileListElement_base implements ITileListElementProps {
    private _cols;
    private _rowHeight;
    private _gutterSize;
    private _autoFlow;
    /**
     * @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 `cols` property.
     *
     * @public
     * @attr
     */
    get cols(): number;
    set cols(value: number);
    /**
     * Gets or sets the `rowHeight` property.
     *
     * @public
     * @attr
     */
    get rowHeight(): string;
    set rowHeight(value: string);
    /**
     * Gets or sets the `gutterSize` property.
     *
     * @public
     * @attr
     */
    get gutterSize(): string;
    set gutterSize(value: string);
    /**
     * Gets or sets the `autoFlow` property.
     *
     * @public
     * @attr
     */
    get autoFlow(): AutoFlow;
    set autoFlow(value: AutoFlow);
    /**
     * @protected
     * @override
     */
    protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
    /**
     * @private
     */
    onDrop(event: DragEvent): void;
    /**
     * @private
     */
    onDragOver(event: Event): void;
    /**
     * @private
     */
    onDragLeave(event: DragEvent): void;
}
/**
 * @public
 */
export declare namespace TileListElement {
    type Props = ITileListElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-tile-list': TileListElement;
    }
}
export {};
//# sourceMappingURL=TileListElement.d.ts.map