import { AppConfig, App } from '@livechat/developer-sdk'; import { ISection, IDetailsWidget, ITicketInfo, IFullscreenWidget } from '@livechat/helpdesk-sdk'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { ISection as ISection$1, IDetailsWidget as IDetailsWidget$1, ICustomerProfile, IFullscreenWidget as IFullscreenWidget$1, IMessageBoxWidget } from '@livechat/agent-app-sdk'; import React$1 from 'react'; interface AppErrorProps { label: string; message?: string; } declare function AppError({ label, message }: AppErrorProps): JSX.Element; declare function useAppInit(config: AppConfig): { app: App | null; error: { visible: true; message?: string; } | null; }; interface AppLoaderProps { label?: string; } declare function AppLoader({ label }: AppLoaderProps): JSX.Element; interface AppPageProps { children?: React.ReactNode; } declare function AppPage({ children }: AppPageProps): JSX.Element; interface AppContext { app: App; } declare function useApp(): AppContext; declare function AppProvider({ config, children }: { config: AppConfig; children: React.ReactNode; }): JSX.Element; declare function useHelpDeskDetailsWidgetInit(onSectionLoad?: () => ISection): { widget: IDetailsWidget | null; ticketInfo: ITicketInfo | null; error: boolean; }; interface HelpDeskDetailsContext { widget: IDetailsWidget; ticketInfo: ITicketInfo | null; } declare const withHelpDeskDetails: (Component: React.ComponentType) => (props: T) => react_jsx_runtime.JSX.Element; declare function useHelpDeskDetails(): HelpDeskDetailsContext; declare function HelpDeskDetailsProvider({ children, onSectionLoad }: { children: React.ReactNode | ((context: HelpDeskDetailsContext) => React.ReactNode); onSectionLoad?: () => ISection; }): JSX.Element; declare function useHelpDeskFullscreenWidgetInit(): { widget: IFullscreenWidget | null; error: boolean; }; interface HelpDeskFullscreenContext { widget: IFullscreenWidget; } declare const withHelpDeskFullscreen: (Component: React.ComponentType) => (props: T) => react_jsx_runtime.JSX.Element; declare function useHelpDeskFullscreen(): HelpDeskFullscreenContext; declare function HelpDeskFullscreenProvider({ children }: { children: React.ReactNode | ((context: HelpDeskFullscreenContext) => React.ReactNode); }): JSX.Element; declare function useLiveChatDetailsWidgetInit(onSectionLoad?: () => ISection$1, onError?: () => void): { widget: IDetailsWidget$1 | null; customerProfile: ICustomerProfile | null; error: boolean; }; interface LiveChatDetailsContext { widget: IDetailsWidget$1; customerProfile: ICustomerProfile | null; } declare const withLiveChatDetails: (Component: React.ComponentType) => (props: T) => react_jsx_runtime.JSX.Element; declare function useLiveChatDetails(): LiveChatDetailsContext; declare function LiveChatDetailsProvider({ children, onSectionLoad }: { children: React.ReactNode | ((context: LiveChatDetailsContext) => React.ReactNode); onSectionLoad?: () => ISection$1; }): JSX.Element; declare function useLiveChatFullscreenWidgetInit(): { widget: IFullscreenWidget$1 | null; error: boolean; }; interface LiveChatFullscreenContext { widget: IFullscreenWidget$1; } declare const withLiveChatFullscreen: (Component: React.ComponentType) => (props: T) => react_jsx_runtime.JSX.Element; declare function useLiveChatFullscreen(): LiveChatFullscreenContext; declare function LiveChatFullscreenProvider({ children }: { children: React.ReactNode | ((context: LiveChatFullscreenContext) => React.ReactNode); }): JSX.Element; declare function useLiveChatMessageBoxWidgetInit(): { widget: IMessageBoxWidget | null; customerProfile: ICustomerProfile | null; error: boolean; }; interface LiveChatMessageBoxContext { widget: IMessageBoxWidget; customerProfile: ICustomerProfile | null; } declare const withLiveChatMessageBox: (Component: React.ComponentType) => (props: T) => react_jsx_runtime.JSX.Element; declare function useLiveChatMessageBox(): LiveChatMessageBoxContext; declare function LiveChatMessageBoxProvider({ children }: { children: React.ReactNode | ((context: LiveChatMessageBoxContext) => React.ReactNode); }): JSX.Element; declare const widgetsMap: { 'livechat/details': typeof LiveChatDetailsProvider; 'livechat/message-box': typeof LiveChatMessageBoxProvider; 'livechat/fullscreen': typeof LiveChatFullscreenProvider; 'helpdesk/details': typeof HelpDeskDetailsProvider; 'helpdesk/fullscreen': typeof HelpDeskFullscreenProvider; }; type AppWidgetProviderMap = typeof widgetsMap; type AppWidgetProviderKey = keyof typeof widgetsMap; declare function AppWidgetProvider(props: { widgetKey: TKey; } & React$1.ComponentProps): JSX.Element; export { type AppContext, AppError, AppLoader, AppPage, AppProvider, AppWidgetProvider, type AppWidgetProviderKey, type AppWidgetProviderMap, type HelpDeskDetailsContext, HelpDeskDetailsProvider, type HelpDeskFullscreenContext, HelpDeskFullscreenProvider, type LiveChatDetailsContext, LiveChatDetailsProvider, type LiveChatFullscreenContext, LiveChatFullscreenProvider, type LiveChatMessageBoxContext, LiveChatMessageBoxProvider, useApp, useAppInit, useHelpDeskDetails, useHelpDeskDetailsWidgetInit, useHelpDeskFullscreen, useHelpDeskFullscreenWidgetInit, useLiveChatDetails, useLiveChatDetailsWidgetInit, useLiveChatFullscreen, useLiveChatFullscreenWidgetInit, useLiveChatMessageBox, useLiveChatMessageBoxWidgetInit, withHelpDeskDetails, withHelpDeskFullscreen, withLiveChatDetails, withLiveChatFullscreen, withLiveChatMessageBox };