import type { Placement } from '@floating-ui/react-dom';
export declare type Type = 'heading' | 'body';
export declare type BodySize = 'xs' | 'sm' | 'md' | 'lg';
export declare type HeadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
export declare type Variant = 'visible' | 'default';
interface BaseProps {
    /**
     * An actionable error message to display when the input value is invalid
     */
    error?: string;
    /**
     * Where to position the tooltip relative to the error icon
     */
    errorPlacement?: Placement;
    /**
     * An accessible label for the input
     */
    label: string;
    /**
     * A max length for the contents of the input
     */
    maxLength?: number;
    /**
     * A form field name
     */
    name?: string;
    /**
     * Blur handler
     */
    onBlur?: () => void;
    /**
     * Focus handler
     */
    onFocus?: () => void;
    /**
     * Change handler
     */
    onChange: (value: string) => void;
    /**
     * A placeholder to display when there's no input value
     */
    placeholder: string;
    /**
     * The value of the input
     */
    value: string;
    /**
     * The variant for the implied input
     */
    variant?: Variant;
}
interface BodyProps {
    type: 'body';
    size?: BodySize;
}
interface HeadingProps {
    type: 'heading';
    size?: HeadingSize;
}
export declare type ImpliedInputProps = (BaseProps & BodyProps) | (BaseProps & HeadingProps);
export {};
