import { type ClipboardEvent, type KeyboardEvent, type RefObject } from 'react'; import type { ChatComposerToken, ChatComposerTokenCustom } from './ChatComposer.types'; export type ChatComposerTokenPortal = { id: string; span: HTMLSpanElement; token: ChatComposerToken; }; export type UseChatComposerTokensOptions = { editableRef: RefObject; onEmitChange: () => void; }; export type UseChatComposerTokensReturn = { tokenPortals: ChatComposerTokenPortal[]; expandToken: (id: string) => void; insertToken: (token: ChatComposerToken) => string | undefined; handleKeyDown: (event: KeyboardEvent) => boolean; handlePaste: (event: ClipboardEvent) => boolean; cleanupPortals: () => void; }; export declare const isChatComposerCustomToken: (token: ChatComposerToken) => token is ChatComposerTokenCustom; export declare const useChatComposerTokens: ({ editableRef, onEmitChange, }: UseChatComposerTokensOptions) => UseChatComposerTokensReturn;