import { Collection, Key, Node } from '@react-types/shared'; export interface IGridCollection extends Collection> { /** The number of columns in the grid. */ columnCount: number; /** A list of rows in the grid. */ rows: GridNode[]; } export interface GridRow extends Partial> { key?: Key; type: string; childNodes: Iterable>; } export interface GridNode extends Node { column?: GridNode; /** * The number of columns spanned by this cell. Use `colSpan` instead. * @deprecated */ colspan?: number; /** The number of columns spanned by this cell. */ colSpan?: number | null; /** The column index of this cell, accounting for any colSpans. */ colIndex?: number | null; /** The index of this node within its parent, ignoring sibling nodes that aren't of the same type. */ indexOfType?: number; } interface GridCollectionOptions { columnCount: number; items: GridRow[]; visitNode?: (cell: GridNode) => GridNode; } export declare class GridCollection implements IGridCollection { keyMap: Map>; columnCount: number; rows: GridNode[]; constructor(opts: GridCollectionOptions); [Symbol.iterator](): IterableIterator>; get size(): number; getKeys(): IterableIterator; getKeyBefore(key: Key): Key | null; getKeyAfter(key: Key): Key | null; getFirstKey(): Key | null; getLastKey(): Key | null; getItem(key: Key): GridNode | null; at(idx: number): GridNode | null; getChildren(key: Key): Iterable>; } export {};