import React from 'react';
import { SCThemeContextType } from '../../../types';
/**
* Creates Global Context
*
:::tip Context can be consumed in one of the following ways:
```jsx
1. {(theme,) => (...)}
```
```jsx
2. const scThemeContext: SCThemeContextType = useContext(SCThemeContext);
```
```jsx
3. const scThemeContext: SCThemeContextType = useSCTheme();
````
:::
*/
export declare const SCThemeContext: React.Context;
/**
* #### Description:
* This component makes the `theme` available down the React tree.
* It should preferably be used at **the root of your component tree**.
* See: https://mui.com/system/styled/
*
* @param children
* @return
* ```jsx
*
* {children}
*
* ```
*/
export default function SCThemeProvider({ children }: {
children: React.ReactNode;
}): JSX.Element;
/**
* Export hoc to inject the base theme to components
* @param Component
*/
export declare const withSCTheme: (Component: any) => (props: any) => import("react/jsx-runtime").JSX.Element;
/**
* Let's only export the `useSCTheme` hook instead of the context.
* We only want to use the hook directly and never the context component.
*/
export declare function useSCTheme(): SCThemeContextType;