import type { ClipboardEvent } from 'react';
import type { ChatComposerInputHandle, ChatComposerToken } from './ChatComposerInput';
export interface UseChatPasteAsTokenOptions {
    /** Ref to the composer input handle for inserting tokens. */
    inputRef: React.RefObject<ChatComposerInputHandle | null>;
    /**
     * Character count threshold — pastes longer than this become tokens.
     * @default 200
     */
    threshold?: number;
    /**
     * Convert pasted text into a token. Return the token to insert.
     * @default Creates a neutral badge with character count label.
     */
    toToken?: (text: string) => ChatComposerToken;
}
export interface UseChatPasteAsTokenReturn {
    /**
     * Pass as the onPaste prop on ChatComposerInput.
     * Returns true when the paste was converted to a token.
     */
    onPaste: (event: ClipboardEvent<HTMLDivElement>, text: string) => boolean;
}
export declare function useChatPasteAsToken({ inputRef, threshold, toToken, }: UseChatPasteAsTokenOptions): UseChatPasteAsTokenReturn;
//# sourceMappingURL=useChatPasteAsToken.d.ts.map