import { VuiTheme } from "../theme/types.js";
import { SpaceGetter } from "./space.js";
import { SystemProp, VariantsType } from "@xstyled/system";
import * as CSS from "csstype";

//#region src/system/grids.d.ts
type GridTemplateColumnsGetter = VariantsType<VuiTheme['gridTemplateColumns']>;
type GridTemplateRowsGetter = VariantsType<VuiTheme['gridTemplateRows']>;
type GapProp = SystemProp<SpaceGetter | CSS.Property.Gap, VuiTheme>;
type GapProps = {
  gap?: GapProp;
};
type ColumnGapProp = SystemProp<SpaceGetter | CSS.Property.ColumnGap, VuiTheme>;
type ColumnGapProps = {
  columnGap?: ColumnGapProp;
};
type RowGapProp = SystemProp<SpaceGetter | CSS.Property.RowGap, VuiTheme>;
type RowGapProps = {
  rowGap?: RowGapProp;
};
type GridColumnProp = SystemProp<CSS.Property.GridColumn, VuiTheme>;
type GridColumnProps = {
  gridColumn?: GridColumnProp;
};
type GridRowProp = SystemProp<CSS.Property.GridRow, VuiTheme>;
type GridRowProps = {
  gridRow?: GridRowProp;
};
type GridAutoFlowProp = SystemProp<CSS.Property.GridAutoFlow, VuiTheme>;
type GridAutoFlowProps = {
  gridAutoFlow?: GridAutoFlowProp;
};
type GridAutoColumnsProp = SystemProp<CSS.Property.GridAutoColumns, VuiTheme>;
type GridAutoColumnsProps = {
  gridAutoColumns?: GridAutoColumnsProp;
};
type GridAutoRowsProp = SystemProp<CSS.Property.GridAutoRows, VuiTheme>;
type GridAutoRowsProps = {
  gridAutoRows?: GridAutoRowsProp;
};
type GridTemplateColumnsProp = SystemProp<GridTemplateColumnsGetter | CSS.Property.GridTemplateColumns, VuiTheme>;
type GridTemplateColumnsProps = {
  gridTemplateColumns?: GridTemplateColumnsProp;
};
type GridTemplateRowsProp = SystemProp<GridTemplateRowsGetter | CSS.Property.GridTemplateRows, VuiTheme>;
type GridTemplateRowsProps = {
  gridTemplateRows?: GridTemplateRowsProp;
};
type GridTemplateAreasProp = SystemProp<CSS.Property.GridTemplateAreas, VuiTheme>;
type GridTemplateAreasProps = {
  gridTemplateAreas?: GridTemplateAreasProp;
};
type GridAreaProp = SystemProp<CSS.Property.GridArea, VuiTheme>;
type GridAreaProps = {
  gridArea?: GridAreaProp;
};
type GridsProps = GapProps & ColumnGapProps & RowGapProps & GridColumnProps & GridRowProps & GridAutoFlowProps & GridAutoColumnsProps & GridAutoRowsProps & GridTemplateColumnsProps & GridTemplateRowsProps & GridTemplateAreasProps & GridAreaProps;
//#endregion
export { ColumnGapProps, GapProps, GridAreaProps, GridAutoColumnsProps, GridAutoFlowProps, GridAutoRowsProps, GridColumnProps, GridRowProps, GridTemplateAreasProps, GridTemplateColumnsProps, GridTemplateRowsProps, GridsProps, RowGapProps };

//# sourceMappingURL=grids.d.ts.map