import { CactusTheme } from '@repay/cactus-theme';
import { Property } from 'csstype';
import PropTypes from 'prop-types';
import React from 'react';
import { StyledComponent, ThemedStyledFunction } from 'styled-components';
import * as SS from 'styled-system';
export declare type Styled
= StyledComponent, CactusTheme>;
export declare const styledWithClass: >(component: C, className: string) => ThemedStyledFunction;
export declare const styledUnpoly: , F extends React.ElementType = C>(component: C, fixed?: F) => ThemedStyledFunction;
export declare const styledProp: PropTypes.Requireable;
export declare const classes: (...args: (string | undefined)[]) => string;
export declare const pickStyles: (styles: SS.styleFn, ...keys: string[]) => SS.styleFn;
export declare const omitStyles: (styles: SS.styleFn, ...keys: string[]) => SS.styleFn;
export declare const gapWorkaround: SS.styleFn | undefined;
declare const flexKeys: readonly ["alignItems", "alignContent", "justifyContent", "flexWrap", "flexDirection"];
declare const itemKeys: readonly ["flex", "flexGrow", "flexShrink", "flexBasis", "alignSelf", "order"];
export interface FlexProps extends Pick {
flexFlow?: SS.ResponsiveValue;
gap?: SS.ResponsiveValue>;
rowGap?: SS.ResponsiveValue>;
colGap?: SS.ResponsiveValue>;
}
export interface FlexOptionProps extends Omit {
flexFlow?: SS.ResponsiveValue;
}
export declare type FlexItemProps = Pick;
export declare const flexContainer: SS.styleFn;
export declare const flexItem: SS.styleFn;
export declare const flexContainerOption: SS.styleFn;
export declare type AllWidthProps = SS.WidthProps & SS.MinWidthProps & SS.MaxWidthProps;
export declare const allWidth: SS.styleFn;
export declare type AllHeightProps = SS.HeightProps & SS.MinHeightProps & SS.MaxHeightProps;
export declare const allHeight: SS.styleFn;
export declare type SizingProps = AllWidthProps & AllHeightProps;
export declare const sizing: SS.styleFn;
/******* Text Styling *******/
interface TextDecorationProps {
textDecoration?: SS.ResponsiveValue;
textDecorationColor?: SS.ResponsiveValue;
textDecorationLine?: SS.ResponsiveValue;
textDecorationSkipInk?: SS.ResponsiveValue;
textDecorationStyle?: SS.ResponsiveValue;
textDecorationThickness?: SS.ResponsiveValue>;
textUnderlineOffset?: SS.ResponsiveValue>;
textUnderlinePosition?: SS.ResponsiveValue;
}
interface TextDirectionProps {
textOrientation?: SS.ResponsiveValue;
writingMode?: SS.ResponsiveValue;
}
interface TextDisplayProps {
fontStretch?: SS.ResponsiveValue;
fontVariant?: SS.ResponsiveValue;
fontVariantCaps?: SS.ResponsiveValue;
fontVariantLigatures?: SS.ResponsiveValue;
fontVariantNumeric?: SS.ResponsiveValue;
textIndent?: SS.ResponsiveValue>;
textTransform?: SS.ResponsiveValue;
}
interface TextOverflowProps extends SS.OverflowProps {
hyphens?: SS.ResponsiveValue;
overflowWrap?: SS.ResponsiveValue;
textOverflow?: SS.ResponsiveValue;
whiteSpace?: SS.ResponsiveValue;
wordBreak?: SS.ResponsiveValue;
}
interface UserSelectProps {
userSelect?: SS.ResponsiveValue;
}
export declare const allText: SS.styleFn;
export declare type AllTextProps = SS.ColorProps & SS.TypographyProps & TextDecorationProps & TextDirectionProps & TextDisplayProps & TextOverflowProps & UserSelectProps;
export {};