import { ThreadData } from '@liveblocks/client'; import { ID } from '@zeniai/client-epic-state'; import { CollaborationTextOverrides, ThreadMetadata } from './utils/CollaborationTypes'; /** * Component & its Props */ interface AllThreadsSectionProps { drawerTitle: string; filter: Partial; textOverrides: CollaborationTextOverrides; allowComposer?: boolean; allowExpand?: boolean; autoExpand?: boolean; autoFocus?: boolean; collapsibleThreadStyle?: React.CSSProperties; contentWrapperStyle?: React.CSSProperties; drawerSectionStyle?: React.CSSProperties; /** Scroll to and briefly highlight this thread when the drawer opens. */ highlightThreadId?: ID; indentContent?: boolean; preventResolvedThreadClick?: boolean; showActions?: boolean | "hover"; showAttachments?: boolean; showDeleted?: boolean; showReactions?: boolean; style?: React.CSSProperties; threadMetadata?: ThreadMetadata; threadsContainerStyle?: React.CSSProperties; withRoomProvider?: boolean; onCloseAllThreadsDrawer: () => void; onThreadClick: (threadMetadata: ThreadMetadata, threadId: ID) => void; } export interface AllThreadsDrawerProps extends AllThreadsSectionProps { isDrawerOpen: boolean; isLoading: boolean; /** * Render the panel inline instead of portaling it to document.body. * Only for environments that snapshot a container's innerHTML (stories); * production hosts need the portal so list-view stacking contexts can't * paint over the fixed panel. */ disablePortal?: boolean; /** * When true (default), this drawer updates global `CommentsDrawerContext` so the * app shell (`
`) gets `margin-right` and stays aligned with the fixed panel. * Set false for a nested host-owned rail (e.g. transaction quick view) so an open * `AllThreadsDrawer` elsewhere (e.g. Expense Automation) is not clobbered with * `isOpen: false` when this instance is closed. */ syncsAppMainMargin?: boolean; threads?: ThreadData[]; } export declare const toThreadDrawerTabType: (v: string) => "open" | "resolved"; export type ThreadDrawerTab = ReturnType; export declare const AllThreadsDrawer: (props: Readonly) => import("react/jsx-runtime").JSX.Element; export declare const AllThreadsSection: (props: Readonly) => import("react/jsx-runtime").JSX.Element; export declare const ThreadComposer: ({ threadMetadata, composerPlaceholder, showAttachments, createThreadCallback, }: { composerPlaceholder: string; showAttachments: boolean; threadMetadata: ThreadMetadata; createThreadCallback: () => void; }) => import("react/jsx-runtime").JSX.Element; export {};