import React from "react";
import { ResponsiveChatSystemConfig } from "./responsive-chat-system";
import { ChatbotTheme } from "./theme-config";
export interface UnifiedCustomerChatLibraryConfig extends ResponsiveChatSystemConfig {
    apiKey?: string;
    baseUrl?: string;
    enableTyping?: boolean;
    enableSuggestedQuestions?: boolean;
    defaultLanguage?: string;
    theme?: ChatbotTheme | string;
    enableThemeToggle?: boolean;
    brandName?: string;
    welcomeMessage?: string;
    placeholder?: string;
    buttonPosition?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
    buttonSize?: "small" | "medium" | "large";
    buttonIcon?: React.ReactNode;
    enableAnalytics?: boolean;
    enableChatHistory?: boolean;
    maxHistorySize?: number;
}
export interface UnifiedCustomerChatLibraryProps {
    config?: Partial<UnifiedCustomerChatLibraryConfig>;
    children?: React.ReactNode;
    onMessage?: (message: string) => void;
    onResponse?: (response: string) => void;
    onDeviceChange?: (deviceInfo: any) => void;
    onError?: (error: Error) => void;
    className?: string;
    style?: React.CSSProperties;
}
export declare const UnifiedCustomerChatLibrary: React.FC<UnifiedCustomerChatLibraryProps>;
export interface SimpleCustomerChatProps {
    apiKey?: string;
    welcomeMessage?: string;
    language?: string;
    theme?: string;
    onMessage?: (message: string) => void;
    onResponse?: (response: string) => void;
}
export declare const SimpleCustomerChat: React.FC<SimpleCustomerChatProps>;
export interface AdvancedCustomerChatProps extends UnifiedCustomerChatLibraryProps {
    customComponents?: {
        FloatingButton?: React.ComponentType<any>;
        ChatWidget?: React.ComponentType<any>;
        SuggestedQuestions?: React.ComponentType<any>;
    };
}
export declare const AdvancedCustomerChat: React.FC<AdvancedCustomerChatProps>;
export declare const useCustomerChat: () => {
    theme: {
        currentTheme: "default" | "dark" | "compact";
        theme: ChatbotTheme;
        changeTheme: (themeName: import("./theme-config").ThemeName) => void;
        availableThemes: import("./theme-config").ThemeName[];
    };
    sendMessage: (message: string) => void;
    clearHistory: () => void;
    changeTheme: (themeName: string) => void;
    deviceInfo: any;
    isMobile: boolean;
    isTablet: boolean;
    isDesktop: boolean;
    isTouchDevice: any;
    isKeyboardVisible: any;
    connectionType: any;
    batteryLevel: any;
    isCharging: any;
    orientation: any;
    deviceCapabilities: {
        hardwareConcurrency: any;
        deviceMemory: any;
        maxTouchPoints: any;
        cookieEnabled: any;
    };
};
export declare const ChatLibraryDebugInfo: React.FC;
export default UnifiedCustomerChatLibrary;
export { useResponsiveChatSystem } from "./responsive-chat-system";
export { useTheme } from "./theme-config";
//# sourceMappingURL=unified-customer-chat-library.d.ts.map