import React, { ReactNode } from 'react';
import { SnackbarProviderProps } from 'notistack';
import type { InitializeI18nOptions } from '../utilities/i18n/initializeI18n';
export interface UdpDevToolsOptions {
/** Show the React Query DevTools panel. Defaults to false. */
query?: boolean;
}
export interface UdpAppProviderProps {
children: ReactNode;
/**
* Props forwarded to the SnackbarProvider from notistack.
*/
snackbarProps?: SnackbarProviderProps;
/**
* Props forwarded to the AuthProviderWrapper.
*/
authProps?: {
doNotWaitForTenant?: boolean;
};
/**
* Optional configuration overrides for the shared i18n instance.
*/
i18nOptions?: InitializeI18nOptions;
/**
* Enable developer tools for debugging. All options default to false.
*/
devTools?: UdpDevToolsOptions;
/**
* Opt in to app-level AI: mounts the AI access provider. A page then builds
* an `AiCapability` (prompt, live context, tools, proposal, the models it
* runs on) and mounts `UdpAiAssistant` for it where the chat belongs.
* Nothing about models is decided here.
*
* No assistant UI is mounted for you; nothing appears until a page puts a
* surface on screen.
*
* Connection details are not props: the gateway URL comes from
* `ConfigService.UDP_AI_GATEWAY_BASE` and the product header from
* `UNITY_PRODUCT_ID`. With no gateway URL configured this is a no-op.
* Entitlement is not a prop either: the gateway is asked once per tenant
* (`GET /v1/models`) and AI surfaces render only when it allows this
* tenant/product — the app declares that it ships AI, the server decides
* who gets it.
*
* Omitted (the default) means no AI code runs at all.
*/
ai?: boolean;
}
/**
* Bundles the core UDP providers (theme, snackbar, auth) and ensures the shared
* i18n instance is initialised exactly once. Intended to be rendered beneath a
* react-router so the auth provider has access to history.
*/
export declare const UdpAppProvider: React.FC;
//# sourceMappingURL=UdpAppProvider.d.ts.map