import { default as React } from 'react';
import { ID } from '@zeniai/client-epic-state';
import { CockpitTabKeys } from '../../cockpit/common/cockpitCommonTypes';
import { ThreadMetadata } from '../utils/CollaborationTypes';
export declare const ThreadComponent: ({ isElementThreadOpen, roomId, openThreadId, showThreadOnHover, openThreadMetadata, autoExpand, autoFocus, targetElement, style, }: {
    isElementThreadOpen: boolean;
    openThreadId: ID | null;
    openThreadMetadata: ThreadMetadata | null;
    roomId: ID;
    autoExpand?: boolean;
    autoFocus?: boolean;
    showThreadOnHover?: boolean;
    style?: React.CSSProperties;
    targetElement?: HTMLElement | null;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const ThreadDotComponent: ({ isElementThreadPresent, itemKey, style, onElementClick, }: {
    isElementThreadPresent: boolean;
    itemKey: CockpitTabKeys;
    style?: React.CSSProperties;
    onElementClick: (event: React.MouseEvent<HTMLDivElement>, itemKey: CockpitTabKeys, isDirectClick?: boolean) => void;
}) => import("react/jsx-runtime").JSX.Element;
export declare const AddThreadsComponent: ({ elementThreadId, addThreadRequestThreadId, itemKey, style, onAddThreadClick, }: {
    elementThreadId: ID;
    itemKey: CockpitTabKeys;
    addThreadRequestThreadId?: ID;
    style?: React.CSSProperties;
    onAddThreadClick: (event: React.MouseEvent<HTMLDivElement>, itemKey: CockpitTabKeys) => void;
}) => import("react/jsx-runtime").JSX.Element;
export interface StickyThreadContentProps {
    addThreadRequestThreadId: ID | undefined;
    elementThreadId: ID;
    isElementThreadOpen: boolean;
    isElementThreadPresent: boolean;
    itemKey: CockpitTabKeys;
    openThreadId: ID | null;
    openThreadMetadata: ThreadMetadata | null;
    roomId: string;
    threadStyle?: React.CSSProperties;
    onAddThreadClick: (event: React.MouseEvent<HTMLDivElement>, itemKey: CockpitTabKeys) => void;
    onElementClick: (event: React.MouseEvent<HTMLDivElement>, itemKey: CockpitTabKeys, isDirectClick?: boolean) => void;
}
export interface StickyThreadProps extends StickyThreadContentProps {
    addThreadStyle?: React.CSSProperties;
    commentDotStyle?: React.CSSProperties;
    targetElement?: HTMLElement | null;
}
export declare const StickyThread: ({ isElementThreadOpen, roomId, elementThreadId, addThreadRequestThreadId, itemKey, isElementThreadPresent, openThreadId, openThreadMetadata, addThreadStyle, commentDotStyle, targetElement, threadStyle, onAddThreadClick, onElementClick, }: StickyThreadProps) => import("react/jsx-runtime").JSX.Element;
export declare const ThreadsContainer: import('@emotion/styled').StyledComponent<{
    theme?: import('@emotion/react').Theme;
    as?: React.ElementType;
} & {
    isLoading: boolean;
    hideDeleteOption?: boolean;
    hideMetaDataQuote?: boolean;
}, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
