import { LitElement } from 'lit';
import type { LitLayout } from './element';
export interface TPosition {
    top: number;
    left: number;
    width: number;
    minWidth: number;
    maxWidth: number;
    height: number;
    minHeight: number;
    maxHeight: number;
    zIndex: number;
}
export interface ILayoutElementProps extends TPosition {
    name: string;
}
export declare class LitLayoutGrid extends LitElement {
    static styles: import("lit").CSSResult[];
    shadow: HTMLElement;
    wrapper: HTMLElement;
    cellSize: number;
    isMoving: boolean;
    isResizing: boolean;
    layoutElementData: null | {
        element: LitLayout;
        layerX: number;
        layerY: number;
    };
    shadowX: number;
    shadowY: number;
    shadowWidth: number;
    shadowHeight: number;
    _maxIndex: number;
    shadowTemplate(): import("lit").TemplateResult<1>;
    render(): import("lit").TemplateResult<1>;
    private _raize;
    private _onRaize;
    private _onStart;
    private _onStartMove;
    private _onStartResize;
    private _onEndMove;
    private _onMove;
    getNewPosition(value: number): number;
    showShadow(data: {
        x?: number;
        y?: number;
        width?: number;
        height?: number;
    }): void;
    setSize(x: number, y: number): void;
    setPosition(x: number, y: number): void;
    private _normalize;
    private _getMaxZIndex;
    getPositions(): {
        [key: string]: TPosition;
    };
}
declare global {
    interface HTMLElementTagNameMap {
        'lit-layout-grid': LitLayoutGrid;
    }
}
