type UseCompositionInputCallback = (value: string) => void;
type UseCompositionInputReturnKey = 'onChange' | 'onCompositionStart' | 'onCompositionEnd';
interface UseCompositionInputReturn<T extends HTMLInputElement | HTMLTextAreaElement> {
    onChange: React.ChangeEventHandler<T>;
    onCompositionStart: React.CompositionEventHandler<T>;
    onCompositionEnd: React.CompositionEventHandler<T>;
}
/** @see https://foxact.skk.moe/use-composition-input */
declare function useCompositionInput<T extends HTMLInputElement | HTMLTextAreaElement = HTMLInputElement>(cb: UseCompositionInputCallback): UseCompositionInputReturn<T>;

export { useCompositionInput };
export type { UseCompositionInputCallback, UseCompositionInputReturn, UseCompositionInputReturnKey };
