/** * @module * * The `ThemeProvider` to wrap your editor with when using these components. */ import { ElementType, ReactElement, ReactNode } from 'react'; import { CSSProperties, RemirrorThemeType } from '@remirror/theme'; export interface UseThemeProps { /** * The theme to customise the look and feel of your remirror editor. */ theme?: RemirrorThemeType; /** * Any extra class names to add to the wrapper component. */ className?: string; } /** * Get the theme from the context and convert it to a style object which can be * attached to any element. * * The theme provided is deeply merged with the parent theme. */ export declare function useTheme(props?: UseThemeProps): { theme: RemirrorThemeType; style: CSSProperties; className?: string; }; export interface ThemeProviderProps extends UseThemeProps { /** * A custom component to use for the wrapper. * * @defaultValue 'div' */ as?: ElementType<{ style?: CSSProperties; className?: string; }>; children: ReactNode; } /** * This the `ThemeProvider`. Wrap your editor with it to customise the theming * of content within your editor. * * Please be aware that this wraps your component in an extra dom layer. */ export declare const ThemeProvider: (props: ThemeProviderProps) => ReactElement;