import { IPoint } from "../../interfaces/IPoint.js";
import { IDesignItem } from "../item/IDesignItem.js";
export interface IGridCellInformation {
    x: number;
    y: number;
    width: number;
    height: number;
    name: string;
    localX: number;
    localY: number;
}
export interface IGridGapInformation {
    x: number;
    y: number;
    width: number;
    height: number;
    localX: number;
    localY: number;
    column?: number;
    row?: number;
    type: 'h' | 'v';
}
export interface IGridInformation {
    cells: IGridCellInformation[][];
    gaps: IGridGapInformation[];
    xGap: number;
    yGap: number;
}
export interface IGridCellHitResult {
    row: number;
    column: number;
    cell: IGridCellInformation;
    localPoint: IPoint;
}
export declare function getElementGridInformation(element: HTMLElement): {
    colSpan: number;
    rowSpan: number;
};
export declare function getGridLocalPoint(designItem: IDesignItem, point: IPoint): IPoint;
export declare function getElementLocalToCanvasMatrix(designItem: IDesignItem): DOMMatrix;
export declare function getGridColumnIndexFromLocalX(gridInformation: IGridInformation, localX: number): number;
export declare function getGridColumnStartLineFromLocalX(gridInformation: IGridInformation, localX: number): number;
export declare function getGridRowIndexFromLocalY(gridInformation: IGridInformation, localY: number): number;
export declare function getGridRowStartLineFromLocalY(gridInformation: IGridInformation, localY: number): number;
export declare function getGridCellFromPoint(designItem: IDesignItem, point: IPoint, gridInformation?: IGridInformation): IGridCellHitResult;
export declare function calculateGridInformation(designItem: IDesignItem): IGridInformation;
