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

//#region src/system/transitions.d.ts
type DurationGetter = VariantsType<VuiTheme['durations']>;
type TimingFunctionGetter = VariantsType<VuiTheme['timingFunctions']>;
type TransitionGetter = VariantsType<VuiTheme['transitions']>;
type TransitionPropertyGetter = VariantsType<unknown>;
type TransitionProp = SystemProp<TransitionGetter, VuiTheme>;
type TransitionProps = {
  transition?: TransitionProp;
};
type TransitionPropertyProp = SystemProp<TransitionPropertyGetter, VuiTheme>;
type TransitionPropertyProps = {
  transitionProperty?: TransitionPropertyProp;
};
type TransitionDurationProp = SystemProp<DurationGetter, VuiTheme>;
type TransitionDurationProps = {
  transitionDuration?: TransitionDurationProp;
};
type TransitionTimingFunctionProp = SystemProp<TimingFunctionGetter, VuiTheme>;
type TransitionTimingFunctionProps = {
  transitionTimingFunction?: TransitionTimingFunctionProp;
};
type TransitionDelayProp = SystemProp<number, VuiTheme>;
type TransitionDelayProps = {
  transitionDelay?: TransitionDelayProp;
};
type TransitionsProps = TransitionProps & TransitionPropertyProps & TransitionDurationProps & TransitionTimingFunctionProps & TransitionDelayProps;
//#endregion
export { DurationGetter, TimingFunctionGetter, TransitionDelayProps, TransitionDurationProps, TransitionGetter, TransitionPropertyGetter, TransitionPropertyProps, TransitionProps, TransitionTimingFunctionProps, TransitionsProps };

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