import { ChangeEventHandler, CompositionEventHandler, KeyboardEventHandler } from 'react'; import { InputProps, TextAreaProps } from './interface'; export default function useComposition({ value, maxLength, onChange, onKeyDown, onPressEnter, beforeTriggerValueChangeCallback, }: { value: string; maxLength: number; onChange: InputProps['onChange']; onKeyDown: InputProps['onKeyDown'] | TextAreaProps['onKeyDown']; onPressEnter: InputProps['onPressEnter']; beforeTriggerValueChangeCallback?: (newValue: string) => void; }): { compositionValue: string; triggerValueChangeCallback: typeof onChange; compositionHandler: CompositionEventHandler; valueChangeHandler: ChangeEventHandler; keyDownHandler: KeyboardEventHandler; };