import { CustomizationProvider } from "@twilio-paste/core/customization"; import { ComponentWrapper } from "../flex-ui-core/src"; import { RootContainerChildrenProps } from "../components/RootContainer"; /** * @typedef {object} ProvidersProps * @memberof ThemeProvider * @property {CustomizationProvider} [PasteThemeProvider] Paste theme provider * @property {ComponentWrapper} [CustomProvider] Custom provider component */ interface ProvidersProps { PasteThemeProvider?: typeof CustomizationProvider; CustomProvider?: ComponentWrapper; } /** * Introducing a new API Flex.setProviders() which can be used to load providers on the root level once * and don’t have to worry about wrapping again as the context will correctly set. Now to use Paste in * Flex plugins, developers will not need to wrap Paste ThemeProvider over all its components. When * using Paste, developers need to pass the CustomizationProvider from Paste to Flex using * Flex.setProviders api as below. By doing this, we’ll wrap Flex with the passed Provider and * developers don’t have to worry about fetching the right theme and passing it on. * * @memberof ThemeProvider * @function setProviders * @param {ProvidersProps} Providers A custom provider * @returns {void} * @example * Flex.setProviders({ * CustomProvider: (RootComponent) => (props) => { * return ( * * * * ); * } * }); * * Flex.AgentDesktopView.Panel1.Content.add( * * {(value) => { *
{value.foo}
// Will print 123 * }} *
* ); */ export declare const setProviders: (Providers: ProvidersProps) => void; export {};