/// <reference types="react" />
export interface ICreateUseIMECompositionOption {
    getEventValue?: (...args: any[]) => string;
}
export interface IUseIMECompositionResult<OnChange> {
    value: string;
    onChange: OnChange;
    onCompositionStart: React.CompositionEventHandler;
    onCompositionEnd: React.CompositionEventHandler;
}
declare type ElementType = HTMLInputElement | HTMLTextAreaElement;
export declare function createUseIMEComposition(option?: ICreateUseIMECompositionOption): <OnChange extends (...args: any[]) => any>(propValue: string, onChangeProp?: OnChange, onCompositionStartProp?: React.CompositionEventHandler<ElementType>, onCompositionEndProp?: React.CompositionEventHandler<ElementType>) => IUseIMECompositionResult<OnChange>;
export {};
