import type { InputBuilder } from '@wrongstack/core/agent'; import type { Action } from '../app-reducer.js'; import type { PasteAccumState } from '../paste-accumulator.js'; import type { TokenPreviewStore } from '../token-previews.js'; export interface UsePasteHandlingOptions { builderRef: React.MutableRefObject; dispatch: React.Dispatch; draftRef: React.MutableRefObject<{ buffer: string; cursor: number; }>; setDraft: (buffer: string, cursor: number) => void; tokenPreviewsRef: React.MutableRefObject; } export interface PasteHandlingResult { pasteAccumRef: React.MutableRefObject; pasteFlushTimerRef: React.MutableRefObject | null>; commitPaste: (full: string) => Promise; pasteClipboardImage: () => Promise; pasteClipboardText: () => Promise; } /** * Bracketed-paste accumulator and clipboard paste handling. * * A single paste can be delivered across several stdin/keypress events: only * the first carries the \x1b[200~ begin marker and only the last carries * \x1b[201~. We buffer every fragment here between those markers and finalize * once, so a paste never fragments into multiple placeholders or leaks * newlines into the buffer. */ export declare function usePasteHandling({ builderRef, dispatch, draftRef, setDraft, tokenPreviewsRef, }: UsePasteHandlingOptions): PasteHandlingResult; //# sourceMappingURL=use-paste-handling.d.ts.map