import React, { type JSX } from 'react';
import type { MouseDragEventHandler } from '../../lib/events/MouseDrag.js';
import type { InputProps, InputState } from '../../components/Input/index.js';
import type { CommonProps } from '../CommonWrapper/index.js';
import type { TGetRootNode } from '../../lib/rootNode/index.js';
export interface InputLikeTextProps extends CommonProps, InputProps {
    children?: React.ReactNode;
    innerRef?: (el: HTMLElement | null) => void;
    onFocus?: React.FocusEventHandler<HTMLElement>;
    onBlur?: React.FocusEventHandler<HTMLElement>;
    onMouseDragStart?: MouseDragEventHandler;
    onMouseDragEnd?: MouseDragEventHandler;
    takeContentWidth?: boolean;
    onClearCrossClick?: () => void;
}
export type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder' | 'hovered'>;
export declare const InputLikeTextDataTids: {
    readonly root: "InputLikeText__root";
    readonly input: "InputLikeText__input";
    readonly nativeInput: "InputLikeText__nativeInput";
};
type DefaultProps = Required<Pick<InputLikeTextProps, 'showClearIcon'>>;
export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    static defaultProps: DefaultProps;
    private getProps;
    private getClearCrossShowed;
    state: {
        focused: boolean;
        clearCrossShowed: boolean;
    };
    private globalObject;
    private emotion;
    private cx;
    private jsInputStyles;
    private styles;
    private theme;
    private size;
    private node;
    private dragging;
    getRootNode: TGetRootNode;
    private setRootNode;
    /**
     * @public
     */
    focus(): void;
    /**
     * @public
     */
    blur(): void;
    /**
     * @public
     */
    blink(): void;
    getNode(): HTMLElement | null;
    private selectNodeContentsDebounced;
    selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
    private renderMain;
    private renderPlaceholder;
    private handleKeyDown;
    private handleMouseDragStart;
    private handleMouseDragEnd;
    private handleFocus;
    private resetFocus;
    private handleBlur;
    private handleHover;
    private handleUnhover;
    private innerRef;
    private getSizeClassName;
}
export {};
