import { CactusTheme } from '@repay/cactus-theme'; import { Property } from 'csstype'; import { StyledComponentBase } from 'styled-components'; import * as SS from 'styled-system'; import { FlexBoxProps } from '../Flex/Flex'; import { FlexItemProps } from '../helpers/styled'; import { screenSizes } from '../ScreenSizeProvider/ScreenSizeProvider'; declare const COLUMN_NUMS: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; declare type ScreenSize = typeof screenSizes[number]; declare type ColumnNum = typeof COLUMN_NUMS[number]; declare type PseudoFlexProps = { [K in ScreenSize]?: ColumnNum; }; interface GridBoxProps extends FlexBoxProps { rows?: SS.ResponsiveValue>; cols?: SS.ResponsiveValue>; columns?: SS.ResponsiveValue>; justify?: SS.ResponsiveValue; justifyItems?: SS.ResponsiveValue; autoFlow?: SS.ResponsiveValue; autoRows?: SS.ResponsiveValue>; autoCols?: SS.ResponsiveValue>; autoColumns?: SS.ResponsiveValue>; gridAreas?: { [key: string]: SS.ResponsiveValue; }; grid?: SS.ResponsiveValue; gridTemplate?: SS.ResponsiveValue; gridTemplateAreas?: SS.ResponsiveValue; } interface GridItemProps extends FlexItemProps, PseudoFlexProps { row?: SS.ResponsiveValue; rowStart?: SS.ResponsiveValue; rowEnd?: SS.ResponsiveValue; col?: SS.ResponsiveValue; column?: SS.ResponsiveValue; colStart?: SS.ResponsiveValue; columnStart?: SS.ResponsiveValue; colEnd?: SS.ResponsiveValue; columnEnd?: SS.ResponsiveValue; gridArea?: SS.ResponsiveValue; justifySelf?: SS.ResponsiveValue; } interface GridComponent extends StyledComponentBase<'div', CactusTheme, GridBoxProps> { Item: StyledComponentBase<'div', CactusTheme, GridItemProps>; supportsGrid: boolean; supportsGap: boolean; } export declare const GridItem: StyledComponentBase<"div", CactusTheme, GridItemProps, never>; export declare const Grid: GridComponent; export default Grid;