import type { DeepReadonly } from 'vue'; import type { Conversation } from '../../types/schemas/chat/conversations.js'; export type ConversationItemOptions = { conversation: DeepReadonly; active: boolean; draggable?: boolean; userImage?: string; selectConversation?: (id: string) => void | Promise; }; export type ConversationItemEmit = { (e: 'delete', id: string): void; (e: 'rename', id: string, title: string): void; (e: 'duplicate', id: string): void; (e: 'export', id: string): void; (e: 'dragStart', id: string): void; (e: 'dragEnd'): void; }; export declare function useConversationItem(options: ConversationItemOptions, emit: ConversationItemEmit): { isRenamingInline: any; renameTitle: any; renameInputRef: any; showDeleteModal: any; conversationPath: any; displayTitle: any; menuItems: ({ label: string; icon: string; click: () => void; color?: undefined; } | { label: string; icon: string; color: "negative"; click: () => boolean; })[]; confirmDelete: () => void; cancelDelete: () => void; handleConversationClick: (event: MouseEvent) => void; startRename: () => void; handleConversationDragStart: (event: DragEvent) => void; handleConversationDragEnd: () => void; cancelRename: () => void; submitRename: () => void; handleRenameBlur: () => void; };