import { CannedResponse, ID } from '@zeniai/client-epic-state'; import { CollaborationTextOverrides, ThreadMetadata } from './utils/CollaborationTypes'; export interface ThreadsSectionProps { filter: Partial; textOverrides: CollaborationTextOverrides; allowComposer?: boolean; autoExpand?: boolean; autoFocus?: boolean; cannedResponses?: CannedResponse[]; composerContainerStyle?: React.CSSProperties; /** * Extra controls overlaid on the Liveblocks composer's actions row * (positioned to the right of the editor toolbar, before the send * button). Pass null for no overlay. */ composerToolbarSlot?: React.ReactNode; /** * UI-hiding for "private" threads. When true, threads whose metadata has * `visibility: "internal"` are dropped from the rendered list. Set this * for non-Zeni viewers on the public Comments tab. NOT a security * boundary — a tampered client can still query Liveblocks directly. */ hidePrivateThreads?: boolean; indentContent?: boolean; initialScrollToThreadId?: ID; isCannedResponsesLoading?: boolean; /** * User IDs to pre-warm the mention picker / `resolveUsers` cache with — * typically the task's assignees + direct_assignees passed in by the * mounting screen. Combined with the union of every comment author * across already-loaded threads, this lets the customer-side mention * picker show real names for Zeni teammates instead of falling back to * "Zeni Team". Idempotent; safe to pass an empty array. */ participantUserIdsToPrime?: ID[]; showActions?: boolean | "hover"; showAttachments?: boolean; showDeleted?: boolean; showReactions?: boolean; style?: React.CSSProperties; threadMetadata?: ThreadMetadata; threadsContainerStyle?: React.CSSProperties; threadStyle?: React.CSSProperties; onThreadClick: (threadMetadata: ThreadMetadata) => void; /** * Fires once Liveblocks has accepted a newly-submitted thread. Lets the * parent reset transient composer state (e.g. the "Private" toggle) so * the next thread doesn't inherit the previous comment's choice. */ onCommentSubmitted?: () => void; onFetchCannedResponses?: () => void; onManageTemplatesClick?: () => void; } export declare const ThreadsSection: (props: Readonly) => import("react/jsx-runtime").JSX.Element;