import * as React from 'react'; import type { ExtendedCSSStyleSheet } from '@fluentui/merge-styles'; import type { AdoptedStylesheetExHook, AdoptedStylesheetHook } from '../hooks/useAdoptedStylesheet'; import type { ShadowConfigHook } from '../hooks/useShadowConfig'; import type { HasMergeStylesShadowRootContextHook, MergeStylesShadowRootContextHook } from '../hooks/useMergeStylesShadowRoot'; import type { MergeStylesRootStylesheetsHook } from '../hooks/useMergeStylesRootStylesheets'; import type { UseStyledHook } from '../hooks/useStyled'; import type { UseWindowHook } from './MergeStylesDefaultContext'; declare global { interface DocumentOrShadowRoot { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptedStyleSheets) */ adoptedStyleSheets: CSSStyleSheet[]; } } export type MergeStylesRootContextValue = { stylesheets: Map; useAdoptedStylesheetEx: AdoptedStylesheetExHook; useAdoptedStylesheet: AdoptedStylesheetHook; useShadowConfig: ShadowConfigHook; useMergeStylesShadowRootContext: MergeStylesShadowRootContextHook; useHasMergeStylesShadowRootContext: HasMergeStylesShadowRootContextHook; useMergeStylesRootStylesheets: MergeStylesRootStylesheetsHook; useWindow: UseWindowHook; useStyled: UseStyledHook; }; export declare const MergeStylesRootContext: React.Context; export type MergeStylesRootProviderProps = { children?: React.ReactNode; /** * Map of stylesheets available in the context. */ stylesheets?: Map; /** * Optional `window` object to use for reading adopted stylesheets. * Useful for multi-window scenarios. */ window?: Window; useAdoptedStylesheetEx?: AdoptedStylesheetExHook; useAdoptedStylesheet?: AdoptedStylesheetHook; useShadowConfig?: ShadowConfigHook; useMergeStylesShadowRootContext?: MergeStylesShadowRootContextHook; useHasMergeStylesShadowRootContext?: HasMergeStylesShadowRootContextHook; useMergeStylesRootStylesheets?: MergeStylesRootStylesheetsHook; useWindow?: UseWindowHook; useStyled?: UseStyledHook; }; /** * Root context provider for mergeStyles shadow DOM. * Typically this is placed at the render root of your React application. */ export declare const MergeStylesRootProvider: React.FC;