import { ReactEventHandler } from 'react';
import { RegisterOptions } from 'react-hook-form';
import { FetchState } from '@zeniai/client-epic-state';
import { DisableMode } from '../common/common';
/**
 * Component & its Props
 */
export type TextFieldWithButtonType = "email" | "number" | "password" | "tel" | "text" | "url" | "hidden";
export interface TextFieldButtonProps {
    fetchState: FetchState;
    isDisabled: boolean;
    isHidden: boolean;
    keepButtonVisible: boolean;
    label: string;
    onButtonClick: () => void;
}
export type AutoCapitalize = "off" | "words" | "characters";
export type AutoTrim = "trimStart" | "trimEnd" | "trim" | "off";
export interface TextFieldWithButtonProps {
    buttonProps: TextFieldButtonProps;
    /**
     * Unique name to be registered with react-hook-form
     */
    name: string;
    type: TextFieldWithButtonType;
    autoCapitalize?: AutoCapitalize;
    autoComplete?: "off" | "on" | "new-password";
    autoTrim?: AutoTrim;
    defaultValue?: string | number | undefined;
    disableCopyPaste?: boolean;
    hoverBgColor?: string;
    isDisabled?: DisableMode;
    isSaveError?: boolean;
    onBlur?: ReactEventHandler;
    placeholder?: string;
    placeholderAlignment?: "left" | "right" | "center";
    protectedInfoText?: string;
    registerOptions?: RegisterOptions;
    style?: React.CSSProperties;
}
export declare function TextFieldWithButton({ type, name, placeholder, placeholderAlignment, autoComplete, autoCapitalize, autoTrim, isDisabled, defaultValue, style, hoverBgColor, registerOptions, protectedInfoText, isSaveError, buttonProps, disableCopyPaste, }: TextFieldWithButtonProps): import("react/jsx-runtime").JSX.Element;
