import { type Key } from "ink";
type UseTextInputProps = {
    value: string;
    onChange: (value: string) => void;
    onSubmit?: (value: string) => void;
    onExit?: () => void;
    onExitMessage?: (show: boolean, key?: string) => void;
    onMessage?: (show: boolean, message?: string) => void;
    onHistoryUp?: () => void;
    onHistoryDown?: () => void;
    onHistoryReset?: () => void;
    focus?: boolean;
    mask?: string;
    multiline?: boolean;
    cursorChar: string;
    highlightPastedText?: boolean;
    invert: (text: string) => string;
    themeText: (text: string) => string;
    columns: number;
    disableCursorMovementForUpDownKeys?: boolean;
    externalOffset: number;
    onOffsetChange: (offset: number) => void;
};
type UseTextInputResult = {
    renderedValue: string;
    onInput: (input: string, key: Key) => void;
    offset: number;
    setOffset: (offset: number) => void;
};
export declare function useTextInput({ value: originalValue, onChange, onSubmit, onExit, onExitMessage, onMessage, onHistoryUp, onHistoryDown, onHistoryReset, mask, multiline, cursorChar, invert, columns, disableCursorMovementForUpDownKeys, externalOffset, onOffsetChange, }: UseTextInputProps): UseTextInputResult;
export {};
