import { ResponsiveStyleValue, SystemStyleObject } from "@styled-system/css"; import * as React from "react"; import * as StyledComponents from "styled-components"; import * as StyledSystem from "styled-system"; export {}; type Omit = Pick>; export interface BaseProps extends React.RefAttributes { as?: React.ElementType | undefined; css?: StyledComponents.CSSObject | StyledComponents.FlattenSimpleInterpolation | string | undefined; } /** * The `SxStyleProp` extension `SystemStyleObject` and `Emotion` [style props](https://emotion.sh/docs/object-styles) * such that properties that are part of the `Theme` will be transformed to * their corresponding values. Other valid CSS properties are also allowed. */ export type SxStyleProp = | SystemStyleObject | Record< string, | SystemStyleObject | ResponsiveStyleValue | Record> >; export interface SxProps { /** * The sx prop lets you style elements inline, using values from your theme. */ sx?: SxStyleProp | undefined; } interface BoxKnownProps extends BaseProps, StyledSystem.SpaceProps, StyledSystem.LayoutProps, StyledSystem.TypographyProps, StyledSystem.ColorProps, StyledSystem.FlexboxProps, SxProps { variant?: StyledSystem.ResponsiveValue | undefined; tx?: string | undefined; } export interface BoxProps extends BoxKnownProps, Omit, keyof BoxKnownProps> {} export const Box: React.FunctionComponent; interface ButtonKnownProps extends BoxKnownProps, StyledSystem.FontWeightProps, StyledSystem.ButtonStyleProps {} export interface ButtonProps extends ButtonKnownProps, Omit, keyof ButtonKnownProps> {} export const Button: React.FunctionComponent; export interface CardProps extends BoxKnownProps, Omit, keyof BoxKnownProps> {} export const Card: React.FunctionComponent; // eslint-disable-next-line @typescript-eslint/no-empty-interface interface FlexKnownProps extends BoxKnownProps {} export interface FlexProps extends FlexKnownProps, Omit, keyof FlexKnownProps> {} export const Flex: React.FunctionComponent; export interface ImageProps extends BoxKnownProps, Omit, keyof BoxKnownProps> {} export const Image: React.FunctionComponent; // eslint-disable-next-line @typescript-eslint/no-empty-interface interface LinkKnownProps extends BoxKnownProps {} export interface LinkProps extends LinkKnownProps, Omit, keyof LinkKnownProps> {} export const Link: React.FunctionComponent; // eslint-disable-next-line @typescript-eslint/no-empty-interface interface TextKnownProps extends BoxKnownProps {} export interface TextProps extends TextKnownProps, Omit, keyof TextKnownProps> {} export const Text: React.FunctionComponent; export interface HeadingProps extends TextKnownProps, Omit, keyof TextKnownProps> {} export const Heading: React.FunctionComponent;