import { SystemProp, VariantsType } from '@xstyled/system';
import * as CSS from 'csstype';
import { VuiTheme } from '../theme';
export type TransformGetter = VariantsType<VuiTheme['transforms']>;
type TransformProp = SystemProp<boolean | string, VuiTheme>;
export type TransformProps = {
    transform?: TransformProp;
    hoverTransform?: TransformProp;
};
type TransformOriginProp = SystemProp<CSS.Property.TransformOrigin, VuiTheme>;
export type TransformOriginProps = {
    transformOrigin?: TransformOriginProp;
    hoverTransformOrigin?: TransformOriginProp;
};
type TranslateXProp = SystemProp<number | string, VuiTheme>;
export type TranslateXProps = {
    translateX?: TranslateXProp;
    hoverTranslateX?: TranslateXProp;
};
type TranslateYProp = SystemProp<number | string, VuiTheme>;
export type TranslateYProps = {
    translateY?: TranslateYProp;
    hoverTranslateY?: TranslateYProp;
};
type RotateProp = SystemProp<number | string, VuiTheme>;
export type RotateProps = {
    rotate?: RotateProp;
    hoverRotate?: RotateProp;
};
type SkewXProp = SystemProp<number | string, VuiTheme>;
export type SkewXProps = {
    skewX?: SkewXProp;
    hoverSkewX?: SkewXProp;
};
type SkewYProp = SystemProp<number | string, VuiTheme>;
export type SkewYProps = {
    skewY?: SkewYProp;
    hoverSkewY?: SkewYProp;
};
type ScaleProp = SystemProp<number | string, VuiTheme>;
export type ScaleProps = {
    scale?: ScaleProp;
    hoverScale?: ScaleProp;
};
type ScaleXProp = SystemProp<number | string, VuiTheme>;
export type ScaleXProps = {
    scaleX?: ScaleXProp;
    hoverScaleX?: ScaleXProp;
};
type ScaleYProp = SystemProp<number | string, VuiTheme>;
export type ScaleYProps = {
    scaleY?: ScaleYProp;
    hoverScaleY?: ScaleYProp;
};
export type TransformsProps = TransformProps & TransformOriginProps & TranslateXProps & TranslateYProps & RotateProps & SkewXProps & SkewYProps & ScaleProps & ScaleXProps & ScaleYProps;
export {};
//# sourceMappingURL=transforms.d.ts.map