import { ComponentProps, HTMLAttributes } from 'react';
import { LucideIcon } from '@fileverse/ui';
export interface TabItemProps {
tabId: string;
name: string;
emoji: string;
commentCount?: number;
onNameChange: (name: string, emoji?: string) => void;
onEmojiChange: (emoji: string) => void;
onClick: () => void;
isActive: boolean;
isEditing?: boolean;
setIsEditing?: React.Dispatch>;
onDuplicate?: (id: string) => void;
dragHandleProps?: HTMLAttributes;
hideContentMenu?: boolean;
showOutline?: boolean;
handleShowOutline?: (value: boolean) => void;
canMoveUp?: boolean;
canMoveDown?: boolean;
onMoveUp?: () => void;
onMoveDown?: () => void;
isPreviewMode: boolean;
isVersionHistoryMode?: boolean;
onCopyLink?: () => void;
onDelete?: () => void;
isConnected?: boolean;
}
interface SortableTabItemProps extends Omit {
id: string;
}
interface TabContextMenuItem {
id: string;
label: string;
icon: ComponentProps['name'];
onSelect?: () => void;
visible?: boolean;
closeOnSelect?: boolean;
textClassName?: string;
iconStroke?: string;
tooltipText?: string;
disabled?: boolean;
}
interface TabContextMenuProps {
sections: TabContextMenuItem[][];
popoverSide?: 'top' | 'bottom';
popoverClassName?: string;
}
export declare const SortableTabItem: (props: SortableTabItemProps) => import("react/jsx-runtime").JSX.Element;
export declare const TabItem: ({ isEditing, setIsEditing, tabId, name, emoji, commentCount, onNameChange, onEmojiChange, onClick, isActive, onDuplicate, dragHandleProps, hideContentMenu, showOutline, handleShowOutline, canMoveUp, canMoveDown, onMoveUp, onMoveDown, isPreviewMode, isVersionHistoryMode, onCopyLink, onDelete, isConnected, }: TabItemProps) => import("react/jsx-runtime").JSX.Element;
export declare const TabDragPreview: ({ name, emoji, }: {
name: string;
emoji: string;
}) => import("react/jsx-runtime").JSX.Element;
export declare const TabContextMenuAction: ({ item, }: {
item: TabContextMenuItem;
}) => import("react/jsx-runtime").JSX.Element;
export declare const TabContextMenu: ({ sections, popoverSide, popoverClassName, }: TabContextMenuProps) => import("react/jsx-runtime").JSX.Element;
export {};