import React from 'react';
import { MenuButtonProps } from './MenuButton';
import { SymbolCodepoints } from '@/core/icons/types';
import { ChatHistory } from './MenuButton/ChatHistory';
export interface FileInfo {
    base64: string;
    size: number;
    mime_type: string;
    objectUrl: string;
    name?: string;
}
export interface SearchNAIProps extends Omit<MenuButtonProps, 'renderPosition' | 'setInputValue' | 'selectedFeature' | 'onUploadedFile' | 'onInputChange'> {
    isNaiTyping?: boolean;
    onSendMessage?: (message: string) => void;
    onAudioRecorded?: (audioInfos: FileInfo) => void;
    historyData?: ChatHistory[];
    renderMenuPosition?: 'top' | 'bottom';
    onUploadFile?: (file: FileInfo) => void;
    shouldShowButtons?: boolean;
    onClickDashboardButton?: () => void;
    onClickMenuButton?: () => void;
    isRunTour: boolean;
    inputColor?: string;
    onCurrentFeatureChange?: (feature: number) => void;
    disabledSendButtons?: boolean;
}
export type MenuButtonFeature = 'history' | 'attachment' | 'emoji' | 'settings';
type MenuItemDescriptor = {
    icon: SymbolCodepoints;
    label: string;
    skipSetCurrentFeature?: boolean;
    onClick: () => void;
    render?: () => JSX.Element;
};
export type MenuItems = Record<MenuButtonFeature, MenuItemDescriptor>;
export declare const SearchNAI: React.FC<SearchNAIProps>;
export {};
