import '@expo/match-media'; import type { ReactElement } from 'react'; import type { ColorSchemeName } from 'react-native'; import type { Theme } from '@emotion/react'; import { withTheme } from '@emotion/react'; import type { DoobooTheme, ThemeParam, ThemeType } from './colors'; type ResponsiveDesignMode = 'mobile-first' | 'desktop-first'; export type ThemeContext = { themeType: ColorSchemeName; media: { isPortrait: boolean; isMobile: boolean; isTablet: boolean; isDesktop: boolean; }; theme: Theme & DoobooTheme; changeThemeType: (themeType?: ColorSchemeName) => void; }; declare const useCtx: () => ThemeContext; export type ThemeProps = { children?: ReactElement; initialThemeType?: ThemeType; customTheme?: ThemeParam; responsiveDesignMode?: ResponsiveDesignMode; }; export declare function ThemeProvider({ children, initialThemeType, customTheme, responsiveDesignMode, }: ThemeProps): ReactElement; export { useCtx as useTheme, withTheme };