import type { Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; type GapSize = 'sm' | 'md' | 'lg' | 'xl'; /** * Responsive columns configuration * Allows different column counts at different breakpoints. * * Uses mobile-first cascading: each breakpoint inherits from smaller ones. * Unspecified breakpoints use sensible defaults (sm: 1, md: 2, lg: 3, xl: 4). * * Example: `{ md: 2, xl: 4 }` means: * - sm: 1 (default) * - md: 2 (specified) * - lg: 2 (inherits from md) * - xl: 4 (specified) */ interface ResponsiveColumns { /** Columns for small screens (< 640px). Default: 1 */ sm?: number; /** Columns for medium screens (>= 640px). Default: 2 or inherits from sm */ md?: number; /** Columns for large screens (>= 1024px). Default: 3 or inherits from md */ lg?: number; /** Columns for extra large screens (>= 1280px). Default: 4 or inherits from lg */ xl?: number; } /** * Gap configuration - can be a simple size or separate row/column gaps */ type GapConfig = GapSize | { row?: GapSize; column?: GapSize; }; type AlignItems = 'start' | 'center' | 'end' | 'stretch'; type JustifyItems = 'start' | 'center' | 'end' | 'stretch'; type AutoFlow = 'row' | 'column' | 'row dense' | 'column dense'; interface Props extends Omit, 'class'> { /** Number of columns, 'auto' for auto-fill, or responsive object */ columns?: number | 'auto' | ResponsiveColumns; /** Gap between items - size or { row, column } */ gap?: GapConfig; /** Header snippet rendered above the grid */ header?: Snippet; /** Main grid content */ children?: Snippet; /** Vertical alignment of grid items */ alignItems?: AlignItems; /** Horizontal alignment of grid items */ justifyItems?: JustifyItems; /** Grid auto-flow direction */ autoFlow?: AutoFlow; } declare const Grid: import("svelte").Component; type Grid = ReturnType; export default Grid; //# sourceMappingURL=Grid.svelte.d.ts.map