import { SystemProp, VariantsType } from '@xstyled/system';
import { Globals, Property } from 'csstype';
import { VuiTheme } from '../theme';
import { ColorGetter } from './colors';
export type FontGetter = VariantsType<VuiTheme['fonts']>;
export type FontSizeGetter = VariantsType<VuiTheme['fontSizes']>;
export type FontWeightGetter = VariantsType<VuiTheme['fontWeights']>;
export type LineHeightGetter = VariantsType<unknown>;
type FontFamilyProp = SystemProp<FontGetter, VuiTheme>;
export type FontFamilyProps = {
    fontFamily?: FontFamilyProp;
};
type FontSizeProp = SystemProp<FontSizeGetter, VuiTheme>;
export type FontSizeProps = {
    fontSize?: FontSizeProp;
};
type FontStyleProp = SystemProp<Property.FontStyle, VuiTheme>;
export type FontStyleProps = {
    fontStyle?: FontStyleProp;
};
type FontWeightProp = SystemProp<FontWeightGetter, VuiTheme>;
export type FontWeightProps = {
    fontWeight?: FontWeightProp;
};
type LineHeightProp = SystemProp<LineHeightGetter, VuiTheme>;
export type LineHeightProps = {
    lineHeight?: LineHeightProp;
};
type ColorProp = ColorGetter;
export type ColorProps = {
    color?: ColorProp;
    disabledColor?: ColorProp;
    hoverColor?: ColorProp;
    placeholderColor?: ColorProp;
};
type TextTransformProp = SystemProp<Property.TextTransform, VuiTheme>;
export type TextTransformProps = {
    textTransform?: TextTransformProp;
};
type TextDecoration = Globals | 'overline' | 'underline' | 'line-through' | 'none';
type TextDecorationProp = SystemProp<TextDecoration, VuiTheme>;
export type TextDecorationProps = {
    hoverTextDecoration?: TextDecorationProp;
    textDecoration?: TextDecorationProp;
};
type TextAlignProp = SystemProp<Property.TextAlign, VuiTheme>;
export type TextAlignProps = {
    textAlign?: TextAlignProp;
};
type VerticalAlignProp = SystemProp<Property.VerticalAlign, VuiTheme>;
export type VerticalAlignProps = {
    verticalAlign?: VerticalAlignProp;
};
type LetterSpacingProp = SystemProp<Property.LetterSpacing, VuiTheme>;
export type LetterSpacingProps = {
    letterSpacing?: LetterSpacingProp;
};
type WhiteSpaceProp = SystemProp<Property.WhiteSpace, VuiTheme>;
export type WhiteSpaceProps = {
    whiteSpace?: WhiteSpaceProp;
};
type TextOverflowProp = SystemProp<Property.TextOverflow, VuiTheme>;
export type TextOverflowProps = {
    textOverflow?: TextOverflowProp;
};
type ListStyleTypeProp = SystemProp<Property.ListStyleType, VuiTheme>;
export type ListStyleTypeProps = {
    listStyleType?: ListStyleTypeProp;
};
type ListStylePositionProp = SystemProp<Property.ListStylePosition, VuiTheme>;
export type ListStylePositionProps = {
    listStylePosition?: ListStylePositionProp;
};
export type TypographyProps = FontFamilyProps & FontSizeProps & FontStyleProps & FontWeightProps & LineHeightProps & ColorProps & TextTransformProps & TextDecorationProps & TextAlignProps & VerticalAlignProps & LetterSpacingProps & WhiteSpaceProps & TextOverflowProps & ListStyleTypeProps & ListStylePositionProps;
export {};
//# sourceMappingURL=typography.d.ts.map