// Definitions by: Junyoung Clare Jang // TypeScript Version: 3.1 import * as React from 'react'; import { Theme } from "./@emotion-react-types-index"; import { DistributiveOmit, PropsOf } from "./@emotion-react-types-helper"; export interface ThemeProviderProps { theme: Partial | ((outerTheme: Theme) => Theme); children?: React.ReactNode; } export interface ThemeProvider { (props: ThemeProviderProps): React.ReactElement; } export type withTheme = >>(component: C) => React.FC, 'theme'> & { theme?: Theme; }>; export function useTheme(): Theme; export const ThemeProvider: ThemeProvider; export const withTheme: withTheme; export type WithTheme = P extends { theme: infer Theme; } ? P & { theme: Exclude; } : P & { theme: T; };