import { default as React, ReactNode } from 'react'; import { ShadowRootMode } from '../ShadowRoot/ShadowRoot.component'; type SetThemeClassFunc = (value: string) => void; type AddClassFunc = (value: string) => void; type RemoveCssClassFunc = (value: string) => void; export interface StyleContextProps { styles: string; currentTheme: string; setThemeClass: SetThemeClassFunc; addCssClass: AddClassFunc; removeCssClass: RemoveCssClassFunc; } export declare const DEFAULT_THEME_NAME = "theme-dark"; /** * Component that inserts the ui styles and manages theming and styles. * Also creates a shadow DOM element with styes inside if 'stylesWrapper' is equal to "shadowRoot". * Accepted values for 'stylesWrapper' are 'head', 'inline' and 'shadowRoot'. * Both this component and ShadowRoot can be used independently. * The stylesWrapper parameter is set to "inline" by default. * If you want to use StyleProvider without inline styles, then the value of this * parameter should be changed to "head". * Examples: * Standalone: * * Content * styles and fonts are added to the document.head * * Content * styles and fonts are added inline * ShadowRoot: * Content * * @see https://cloudoperators.github.io/juno/?path=/docs/layout-styleprovider--docs * @see {@link StyleProviderProps} */ export declare const StyleProvider: { ({ stylesWrapper, theme: themeProp, children, shadowRootMode, }: StyleProviderProps): React.JSX.Element; useStyles(): StyleContextProps; }; type StyleProviderStylesWrapper = "head" | "inline" | "shadowRoot"; export interface StyleProviderProps { /** The children to render. */ children?: ReactNode; /** What element to render as a wrapper, respectively where to render the StyleProvider. */ stylesWrapper?: StyleProviderStylesWrapper; /** The name of the theme to render. */ theme?: string; /** The mode of the shadowRoot. Only relevant when `stylesWrapper="shadowRoot"`. */ shadowRootMode?: ShadowRootMode; } export {}; //# sourceMappingURL=StyleProvider.component.d.ts.map