import type { FillChar } from '../types.js'; import type { Component } from '../component.js'; /** * Grid template entry: fixed width, flex unit, or minmax */ export type GridTemplateEntry = number | 'auto' | '*' | `${number}*` | { min?: number; max?: number; width?: string; }; export interface GridOptions { /** Explicit column definitions (like CSS grid-template-columns) */ columns?: GridTemplateEntry[]; /** Size for implicitly created columns when there are more children than explicit columns (like CSS grid-auto-columns) */ autoColumns?: GridTemplateEntry; /** * Column template (deprecated, use `columns` + `autoColumns` instead) * When using `template`, the last value acts as the `autoColumns` value for implicitly created columns. * Example: `template: [20, 20]` means 2 explicit columns of 20, and auto columns will also be 20. */ template?: GridTemplateEntry[]; /** * Explicit row definitions (like CSS grid-template-rows) * If not specified, rows are created automatically as needed (auto-wrapping). * When specified, children wrap to new rows when explicit columns are filled. */ rows?: number[]; /** * Height for implicitly created rows when there are more children than explicit rows (like CSS grid-auto-rows) * Defaults to 1 line if not specified. */ autoRows?: number; /** Spaces between columns (default: 0) */ columnGap?: number; /** Spaces between rows (default: 0) */ rowGap?: number; /** Characters to draw between columns (fills blank space until next column) */ spaceBetween?: FillChar | FillChar[]; /** Justify content: 'space-between' for left/right items with flexing middle */ justify?: 'start' | 'end' | 'center' | 'space-between'; } /** * Create a grid component (function-based API) * This returns a Component that can be used in other grids * Accepts Component children, strings (converted to Styled components), or objects with render methods */ export declare function grid(options: GridOptions, ...children: (Component | string | { render: Component; })[]): Component; //# sourceMappingURL=grid.d.ts.map