import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type FlexSkin } from "../layout/layout.styles.js"; export interface GridProps { children?: ReactNode; /** Minimum tile width in px (default 240): the grid fits as many columns of * at least this width as its measured container allows (auto-fit). */ minTileWidth?: number; /** Column cap: never more than this many columns (the desktop count). The * count still drops below the cap as the container narrows, so a capped * grid still collapses to one column on phones. */ columns?: number; flush?: boolean; tight?: boolean; snug?: boolean; cozy?: boolean; relaxed?: boolean; loose?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** For sizing/composition only (e.g. `maxWidth` to bound the grid), never a * restyle hook; layout comes from the props above. */ style?: StyleProp; } export interface GridItemProps { children?: ReactNode; /** Span two cells when the grid has more than one column (a hero tile). One * cell in a one-column grid. */ wide?: boolean; /** E2E hook forwarded to the item element. */ testID?: string; } /** A grid child with cell options (`wide` spans two cells). Plain children need * no wrapper: Grid assigns every child a cell. */ export declare function GridItem({ children, testID }: GridItemProps): import("react").JSX.Element; /** How many tiles of at least `minTileWidth` fit `width` with `gap` between * them: at least 1, capped at `columns` when given. An unmeasured width * (<= 0) resolves to the cap (desktop-first), or one column without a cap. */ export declare function gridColumns(width: number, minTileWidth: number, gap: number, columns?: number): number; /** The px width of one cell when `cols` cells and their gaps split `width`. */ export declare function gridCellWidth(width: number, cols: number, gap: number): number; /** Build a Grid component from a platform skin (the shared layout scale). */ export declare function createGrid(skin: FlexSkin): (props: GridProps) => import("react").JSX.Element; //# sourceMappingURL=grid.shared.d.ts.map