import * as CSS from "csstype"; import React from "react"; import { DefaultTheme } from "styled-components/native"; import { ObjectOrArray, Theme, ThemeBorders, ThemeBorderStyles, ThemeBorderWidths, ThemeBreakpoints, ThemeColors, ThemeFontFamilies, ThemeFontSizes, ThemeFontWeights, ThemeLetterSpacings, ThemeLineHeights, ThemeRadii, ThemeShadows, ThemeSizes, ThemeSpaces, ThemeZIndices } from "styled-system"; import { ButtonTheme } from "../atoms/Button/Button.theme"; import { TextTheme } from "../atoms/Text/Text.theme"; import { TextInputTheme } from "../atoms/TextInput/TextInput.theme"; import { MediaQueries } from "./styleguide/breakpoints"; export * from "./styleguide/breakpoints"; export { darkTheme as default, lightTheme }; export declare type PropsWithVariant = { variant?: T; }; export declare type CursorProps = { cursor?: CSS.Property.Cursor; }; export declare const buildObjectOrArray: (obj: any) => any; export declare const buildMediaQueries: (breakpoints: ThemeBreakpoints) => MediaQueries; export interface CustomComponentsTheme { button: ButtonTheme; text: TextTheme; textInput: TextInputTheme; } export declare type VariantProps = Props & { [key in CSS.Pseudos]?: Props; }; declare module "styled-components" { interface DefaultTheme extends Theme, CustomComponentsTheme { name: string; space: ObjectOrArray, keyof ThemeSpaces> | Partial; fontSizes: ObjectOrArray, keyof ThemeFontSizes> | Partial; colors: ObjectOrArray | Partial; fonts: ObjectOrArray | Partial; fontWeights: ObjectOrArray | Partial; lineHeights: ObjectOrArray | Partial; letterSpacings: ObjectOrArray | Partial; sizes: Partial | CSS.Property.Width, keyof ThemeSizes>> | Partial; borders: ObjectOrArray | Partial; borderWidths: ObjectOrArray | Partial; borderStyles: ObjectOrArray | Partial; radii: ObjectOrArray | Partial; shadows: ObjectOrArray | Partial; zIndices: ObjectOrArray | Partial; breakpoints: ObjectOrArray | Partial; mediaQueries: MediaQueries; disableStyledSystemCache?: boolean; } } export declare const baseTheme: DefaultTheme; export interface CustomTheme extends DefaultTheme { } declare type DeepPartial = { [P in keyof T]?: DeepPartial; }; export declare const customTheme: DeepPartial; declare const lightTheme: DefaultTheme; declare const darkTheme: DefaultTheme; interface ThemeProviderPropsProps { children: React.ReactNode; theme?: Partial; } export declare const ThemeProvider: React.FC;