import { ReactNode } from 'react'; /** * The `AppShellProvider` component serves as a wrapper for Juno apps. It integrates both * `StyleProvider` and `PortalProvider`, offering consistent theming and managing portals across the app. * This provider can optionally render within a `ShadowRoot` to encapsulate styles independently. * @see https://cloudoperators.github.io/juno/?path=/docs/layout-appshellprovider--docs * @see {@link AppShellProviderProps} */ export declare const AppShellProvider: ({ shadowRoot, shadowRootMode, stylesWrapper, theme, children, }: AppShellProviderProps) => ReactNode; export type AppShellStyleWrapper = "head" | "inline"; interface WrapperProps { /** * React nodes or a collection of React nodes to be rendered as content. */ children?: ReactNode; /** * Determines whether the app is rendered inside a `ShadowRoot`. * Only set to `false` if the app runs as a standalone application. * @default true */ shadowRoot?: boolean; /** * Specifies the mode of the `ShadowRoot`. * @default "open" */ shadowRootMode?: ShadowRootMode; } export interface AppShellProviderProps extends WrapperProps { /** * Specifies where app stylesheets are imported. * This is relevant only if `shadowRoot` is `false`. Must be `"inline"` if using a `ShadowRoot`. * @default "inline" */ stylesWrapper?: AppShellStyleWrapper; /** * Determines the theme of the application, choosing between `"theme-dark"` or `"theme-light"`. * Defaults to the global default theme name. * @default DEFAULT_THEME_NAME */ theme?: "theme-dark" | "theme-light"; } export {}; //# sourceMappingURL=AppShellProvider.component.d.ts.map