import { CollaborationPopoverProps } from '@box/collaboration-popover'; import { UserContactType } from '@box/user-selector'; import { MessagesViewProps } from './components/messages-view/messages-view'; import { MessageEditorProps } from './components/message-editor/message-editor'; /** * Props for the ThreadedAnnotations component. */ export interface ThreadedAnnotationsProps { /** * Options for the message editor. */ messageEditorOptions: Omit; /** * Options for the messages view. */ messagesViewOptions: Omit; /** * Callback function to be called when the editor is opened. */ onEditorOpen?: () => void; /** * Callback function to be called when the editor is closed. */ onEditorClose?: () => void; /** * Callback function to be called when the annotations are closed. */ onAnnotationsClose?: () => void; /** * Whether the reply button is blocked. */ isReplyAllowed?: boolean; /** * Collaboration popover props. */ collaborationPopoverProps: Omit; /** * Function to get the avatar url for the user. */ getAvatarUrl?: (id: string) => string; /** * Function to fetch the collaborator state for the user. */ fetchCollaboratorState?: (user: UserContactType) => Promise; /** * Lazily resolves a user's email by ID (and optionally name) when the mention doesn't carry one. * Called during mention click, before the popover opens. */ fetchEmail?: (userId: string, userName?: string) => Promise; } export declare const ThreadedAnnotations: ({ messageEditorOptions, messagesViewOptions, onEditorOpen, onEditorClose, onAnnotationsClose, isReplyAllowed, collaborationPopoverProps, getAvatarUrl, fetchCollaboratorState, fetchEmail, }: ThreadedAnnotationsProps) => import("react/jsx-runtime").JSX.Element;