import type { AriaAttributes } from 'react';
import React from 'react';
import type { InputProps } from '../Input';
import { Input } from '../Input';
import type { CurrencyInputProps } from '../CurrencyInput';
import { CurrencyInput } from '../CurrencyInput';
import type { DefaultizedProps } from '../../lib/createPropsGetter';
import type { Override } from '../../typings/utility-types';
import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
import type { TGetRootNode } from '../../lib/rootNode';
import type { MaskedInputProps } from '../MaskedInput';
export interface FxInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>, Override<Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>, {
    /** Управляет видимостью кнопки Restore:
     * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.
     * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */
    auto?: boolean;
    /** Тип поля. */
    type?: 'currency' | InputProps['type'];
    /** Событие нажатия на кнопку Restore. */
    onRestore?: () => void;
    /** Событие изменения value. */
    onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];
    /** Значение поля. */
    value?: string | number;
    /** Задаёт ref поля. */
    refInput?: (element: CurrencyInput | Input | null) => void;
    /** Убирает лишние нули после запятой. */
    hideTrailingZeros?: boolean;
    /** Атрибут aria-label кнопке Restore. */
    buttonAriaLabel?: AriaAttributes['aria-label'];
    /** @ignore */
    corners?: React.CSSProperties;
}> {
}
export declare const FxInputDataTids: {
    readonly root: "FxInput__root";
};
type DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;
type DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;
/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.
 *
 * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.
 */
export declare class FxInput extends React.Component<FxInputProps> {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    static defaultProps: DefaultProps;
    private theme;
    private size;
    private input;
    private getProps;
    getRootNode: TGetRootNode;
    private setRootNode;
    private featureFlags;
    private validateProps;
    componentDidMount(): void;
    componentDidUpdate(): void;
    render(): React.JSX.Element;
    renderMain: (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => React.JSX.Element;
    /** Программно устанавливает фокус на поле.
     * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.
     * @public
     */
    focus: () => void;
    /** Программно снимает фокус с кнопки.
     * @public
     */
    blur: () => void;
    private refInput;
    private getLeftIcon;
    private getInput;
}
export {};
