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<ThreadMetadata>;
    textOverrides: CollaborationTextOverrides;
    allowComposer?: boolean;
    allowExpand?: boolean;
    autoExpand?: boolean;
    autoFocus?: boolean;
    collapsibleThreadStyle?: React.CSSProperties;
    contentWrapperStyle?: React.CSSProperties;
    drawerSectionStyle?: React.CSSProperties;
    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;
    /**
     * When true (default), this drawer updates global `CommentsDrawerContext` so the
     * app shell (`<main>`) 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<ThreadMetadata>[];
}
export declare const toThreadDrawerTabType: (v: string) => "open" | "resolved";
export type ThreadDrawerTab = ReturnType<typeof toThreadDrawerTabType>;
export declare const AllThreadsDrawer: (props: Readonly<AllThreadsDrawerProps>) => import("react/jsx-runtime").JSX.Element;
export declare const AllThreadsSection: (props: Readonly<AllThreadsSectionProps>) => 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 {};
