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

//#region src/system/layout.d.ts
type InsetGetter = VariantsType<unknown>;
type ZIndexGetter = VariantsType<VuiTheme['zIndices']>;
type DisplayProp = SystemProp<CSS.Property.Display, VuiTheme>;
type DisplayProps = {
  display?: DisplayProp;
};
type FloatProp = SystemProp<CSS.Property.Float, VuiTheme>;
type FloatProps = {
  float?: FloatProp;
};
type BoxSizingProp = SystemProp<CSS.Property.BoxSizing, VuiTheme>;
type BoxSizingProps = {
  boxSizing?: BoxSizingProp;
};
type OverflowProp = SystemProp<CSS.Property.Overflow, VuiTheme>;
type OverflowProps = {
  overflow?: OverflowProp;
};
type OverflowXProp = SystemProp<CSS.Property.OverflowX, VuiTheme>;
type OverflowXProps = {
  overflowX?: OverflowXProp;
};
type OverflowYProp = SystemProp<CSS.Property.OverflowY, VuiTheme>;
type OverflowYProps = {
  overflowY?: OverflowYProp;
};
type ZIndexProp = SystemProp<ZIndexGetter | CSS.Property.ZIndex, VuiTheme>;
type ZIndexProps = {
  zIndex?: ZIndexProp;
};
type PositionProp = SystemProp<CSS.Property.Position, VuiTheme>;
type PositionProps = {
  position?: PositionProp;
};
type TopProp = SystemProp<InsetGetter | CSS.Property.Top, VuiTheme>;
type TopProps = {
  top?: TopProp;
  hoverTop?: TopProp;
};
type RightProp = SystemProp<InsetGetter | CSS.Property.Right, VuiTheme>;
type RightProps = {
  right?: RightProp;
  hoverRight?: RightProp;
};
type BottomProp = SystemProp<InsetGetter | CSS.Property.Bottom, VuiTheme>;
type BottomProps = {
  bottom?: BottomProp;
  hoverBottom?: BottomProp;
};
type LeftProp = SystemProp<InsetGetter | CSS.Property.Left, VuiTheme>;
type LeftProps = {
  left?: LeftProp;
  hoverLeft?: LeftProp;
};
type VisibilityProp = SystemProp<CSS.Property.Visibility, VuiTheme>;
type VisibilityProps = {
  visibility?: VisibilityProp;
  hoverVisibility?: VisibilityProp;
};
type OverscrollBehaviorProp = SystemProp<CSS.Property.OverscrollBehavior, VuiTheme>;
type OverscrollBehaviorProps = {
  overscrollBehavior?: OverscrollBehaviorProp;
};
type ObjectFitProp = SystemProp<CSS.Property.ObjectFit, VuiTheme>;
type ObjectFitProps = {
  objectFit?: ObjectFitProp;
};
type LayoutProps = DisplayProps & FloatProps & BoxSizingProps & OverflowProps & OverflowXProps & OverflowYProps & PositionProps & ZIndexProps & TopProps & RightProps & BottomProps & LeftProps & VisibilityProps & OverscrollBehaviorProps & ObjectFitProps;
//#endregion
export { BottomProps, BoxSizingProps, DisplayProps, FloatProps, InsetGetter, LayoutProps, LeftProps, ObjectFitProps, OverflowProps, OverflowXProps, OverflowYProps, OverscrollBehaviorProps, PositionProps, RightProps, TopProps, VisibilityProps, ZIndexGetter, ZIndexProps };

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