import React from "react";
import { TemplateList } from "./_components/templates/TemplatesMap/templatesMap";
import { HeaderMessageHandler } from "./helpers/utils";
export type HeaderMessageHandlers = Record<string, HeaderMessageHandler>;
export interface SaveButtonConfig {
    label: string;
    loadingLabel: React.ReactNode;
}
interface ILOTJProps {
    open: boolean;
    chatAssistantName: string;
    organizationName: string;
    baseUrl: string;
    baseWebsocketUrl: string;
    closeFunction: () => void;
    ThinkingBulbIconComponent: React.ReactNode;
    customSections: React.ReactNode;
    customMetaData?: Record<string, any> | React.MutableRefObject<Record<string, any>>;
    chatTitle?: string;
    formTitle?: string;
    onSave?: () => void;
    headerMessageHandlers?: Record<string, HeaderMessageHandler>;
    aiResponse?: any;
    setAIResponse?: React.Dispatch<React.SetStateAction<any>>;
    width?: string;
    height?: string;
    sendMessageInChat?: string;
    setSendMessageInChat?: React.Dispatch<React.SetStateAction<string>>;
    validateCustom?: () => boolean;
    onResetChat?: () => void;
    template?: TemplateList;
    templateProps?: any;
    initialChatMessage?: string;
    setCitations?: React.Dispatch<React.SetStateAction<string[]>>;
    isLoading?: boolean;
    isLocked?: boolean;
    saveButtonConfig?: SaveButtonConfig;
    saveWithoutValBtnConfig?: SaveButtonConfig;
    textareaPlaceholder?: string;
    setCurrentRequestId?: React.Dispatch<React.SetStateAction<string>>;
    showSavedMessage?: boolean;
    savedMessage?: string;
    isError?: boolean;
    errorMessage?: string;
    isSaving?: boolean;
    isAiStreaming?: boolean;
    setIsAiStreaming?: React.Dispatch<React.SetStateAction<boolean>>;
    showConfirmReset?: boolean;
    setShowConfirmReset?: React.Dispatch<React.SetStateAction<boolean>>;
    confirmReset?: () => void;
    isLoadingVariants?: boolean;
    isFormDirty?: () => boolean;
    onResetRequest?: () => void;
    mainText?: string;
    subText?: string;
    showComparison?: boolean;
    setShowComparison?: React.Dispatch<React.SetStateAction<boolean>>;
    showAgentComposerRuleComparison?: boolean;
    setShowAgentComposerRuleComparison?: React.Dispatch<React.SetStateAction<boolean>>;
    isFetchingComparison?: boolean;
    proposedRule?: any;
    variants?: any[];
    onAddAsVariant?: () => void;
    handleOpenComparison?: () => void;
    isCopyEnabled?: boolean;
    showSaveWithoutValidation?: boolean;
    onSaveWithoutValidation?: () => void;
    onComparisonLinkClick?: (variantId: string, fieldName: string) => void;
    targetComparisonVariantId?: string | null;
    highlightedComparisonField?: string | null;
    onSubmitFeedback?: (payload: any) => Promise<void>;
    isUseNormalChat?: boolean;
    userDetails?: {
        name: string;
        id: string;
        email: string;
    };
    handleGlobalClickCapture?: (event: React.MouseEvent<HTMLDivElement>) => void;
    isGlobalEditActive?: boolean;
    saveButtonColor?: string;
    socketTimeOutInMilliSeconds?: number;
    initialDraftMessage?: string;
    onValidateSession?: (startTime: string) => Promise<boolean>;
}
declare const ILOTJ: React.FC<ILOTJProps>;
export default ILOTJ;
//# sourceMappingURL=ILOTJ.d.ts.map