import { type DictationTarget } from './dictation-target.js'; import type { ArkmeMarkdownDraft } from './markdown-editor.js'; import { type ClipboardEvent, type CSSProperties, type FocusEvent, type KeyboardEvent } from 'react'; import type { ArkmeComposerEmoji, ArkmeComposerMention } from './composer-draft-store.js'; import { type ArkmeComposerSelectionRequest } from './composer-selection-request.js'; export interface ArkmeRichComposerHandle { createDictationTarget?(): DictationTarget | undefined; readonly disabled: boolean; readonly value: string; readonly selectionStart: number; readonly selectionEnd: number; focus(options?: FocusOptions): void; setSelectionRange(start: number, end: number): void; getCaretGeometry(): ArkmeComposerCaretGeometry | undefined; getEditorGeometry(): ArkmeComposerCaretGeometry | undefined; } export interface ArkmeComposerCaretGeometry { left: number; top: number; right: number; bottom: number; width: number; height: number; } export interface ArkmeRichComposerInputProps { /** Format of source text in the plain editor; independent of rich Markdown editing. */ textFormat?: 'plain' | 'markdown'; selectionRequest?: ArkmeComposerSelectionRequest | undefined; markdownEnabled?: boolean; markdown?: ArkmeMarkdownDraft | undefined; onMarkdownChange?(value: ArkmeMarkdownDraft, text: string, mentions: readonly ArkmeComposerMention[], emojis: readonly ArkmeComposerEmoji[]): void; className?: string; value: string; mentions: readonly ArkmeComposerMention[]; emojis: readonly ArkmeComposerEmoji[]; maxLength: number; placeholder: string; ariaLabel: string; disabled: boolean; style: CSSProperties; onTextChange(text: string, emojis?: readonly ArkmeComposerEmoji[]): void; /** Genuine editor activity, including provisional IME text; never a draft commit. */ onInputActivity?(text: string): void; onSelectionChange?(text: string, selectionStart: number, selectionEnd: number): void; onFocus?(event: FocusEvent): void; onBlur?(event: FocusEvent): void; onPaste?(event: ClipboardEvent): void; onKeyDown?(event: KeyboardEvent): void; } export declare const ArkmeRichComposerInput: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=ArkmeRichComposerInput.d.ts.map