import * as React from 'react'; export interface GridCellDefinition { /** * The optional number of spanned columns. By default only 1 column is spanned. * @default 1 */ colSpan?: number; /** * The optional number of spanned columns. By default only 1 row is spanned. * @default 1 */ rowSpan?: number; /** * The 0-based column where the area should be displayed. */ column?: number; /** * The 0-based row where the area should be displayed. */ row?: number; /** * Optionally sets the tile to be hidden, so that it does not consume space. */ hidden?: boolean; } export interface GridLayoutCell { ri: number; rf: number; ci: number; cf: number; } export interface GridAllocation { column: number; row: number; colSpan: number; rowSpan: number; } export interface GridAllocationLayout { allocations: Array>; flexRows: boolean; flexCols: boolean; } export interface GridDimension { rows?: number | Array; columns?: number | Array; } export declare function checkAllocation(layout: GridAllocationLayout, row: number, col: number, rowSpan: number, colSpan: number): boolean; export declare function findAllocation(layout: GridAllocationLayout, proposedAllocation?: Partial): { ci: number; cf: number; ri: number; rf: number; } | undefined; export declare function updateAllocation(allocations: Array>, allocation: GridLayoutCell): void; export declare function createAllocations(dim: GridDimension): { allocations: boolean[][]; flexRows: boolean; flexCols: boolean; }; export declare function calcLayout(children: React.ReactNode, dim: GridDimension): { cells: (GridAllocation | undefined)[]; rows: number; columns: number; };