import { InkeepEmbeddedChat, InkeepEmbeddedSearch, InkeepEmbeddedWidget, InkeepModalChat, InkeepModalSearch, InkeepModalWidget, InkeepIntelligentForm, InkeepChatButton } from '@inkeep/widget-closed';
/**
 * Maps component implementations to their global registration names.
 * This mapping defines how components will be exposed on the global Inkeep object.
 *
 * The keys represent the public API names, while the values are the actual component implementations:
 * - Embedded variants are rendered inline within the page
 * - Modal variants are rendered in an overlay/modal dialog
 * - Components can provide chat, search, or both capabilities
 *
 * @example
 * ```ts
 * window.Inkeep.EmbeddedChat('#chat-container', {
 *   baseSettings: {
 *     apiKey: 'your-api-key',
 *   }
 * })
 * ```
 */
declare const componentMap: {
    EmbeddedChat: typeof InkeepEmbeddedChat;
    EmbeddedSearch: typeof InkeepEmbeddedSearch;
    EmbeddedSearchAndChat: typeof InkeepEmbeddedWidget;
    ModalChat: typeof InkeepModalChat;
    ModalSearch: typeof InkeepModalSearch;
    ModalSearchAndChat: typeof InkeepModalWidget;
    IntelligentForm: typeof InkeepIntelligentForm;
    ChatButton: typeof InkeepChatButton;
};
export type Component = keyof typeof componentMap;
/**
 * Extends the Window interface to include the Inkeep global object.
 * Each component is exposed as a function that takes a target selector and props.
 */
declare global {
    interface Window {
        Inkeep: Partial<Record<Component, (targetSelector: string, props: any) => any>>;
    }
}
export {};
