/** * @file Box AI Sidebar Container * @author Box */ import * as React from 'react'; import { type FeedbackFormData, type ItemType } from '@box/box-ai-content-answers'; import { RecordActionType } from '@box/box-ai-agent-selector'; import type { BoxAISidebarCache, BoxAISidebarCacheSetter } from './types/BoxAISidebarTypes'; export interface BoxAISidebarProps { contentName: string; cache: BoxAISidebarCache; createSessionRequest: (payload: Record, itemID: string) => Promise; elementId: string; fetchTimeout: Record; fileExtension: string; fileID: string; getAgentConfig: (payload: Record) => Promise; getAIStudioAgents: () => Promise; getAnswer: (payload: Record, itemID?: string, itemIDs?: Array, state?: Record) => Promise; getAnswerStreaming: (payload: Record, itemID?: string, itemIDs?: Array, abortController?: AbortController, state?: Record) => Promise; getSuggestedQuestions: (itemID: string) => Promise | null; hostAppName: string; isAgentSelectorEnabled: boolean; isAIStudioAgentSelectorEnabled: boolean; isCitationsEnabled: boolean; isDebugModeEnabled: boolean; isFeedbackEnabled: boolean; isFeedbackFormEnabled: boolean; isIntelligentQueryMode: boolean; isMarkdownEnabled: boolean; isStopResponseEnabled?: boolean; isStreamingEnabled: boolean; items: Array; itemSize?: string; localizedQuestions: Array<{ id: string; label: string; prompt: string; }>; onFeedbackFormSubmit?: (data: FeedbackFormData, onSuccess: () => void) => void; onUserInteraction?: () => void; recordAction: (params: RecordActionType) => void; setCacheValue: BoxAISidebarCacheSetter; shouldFeedbackFormIncludeFeedbackText?: boolean; renderRemoteModule?: (elementId: string) => React.ReactNode; shouldPreinitSession?: boolean; setHasQuestions: (hasQuestions: boolean) => void; } declare const BoxAISidebar: (props: BoxAISidebarProps) => string | number | boolean | Iterable | React.JSX.Element; export default BoxAISidebar;