import type { RefObject } from "react";
import type { FormFieldProps } from "../FormFieldTypes";
export interface useFormFieldWrapperStylesProps extends Pick<FormFieldProps, "size" | "align" | "placeholder" | "value" | "invalid" | "maxLength" | "type" | "disabled" | "inline"> {
    readonly error?: string;
    /**
     * Maximum numerical or date value
     * In v2 components, this is typically undefined.
     */
    readonly max?: number | string;
    suffixRef?: RefObject<HTMLDivElement | null>;
    prefixRef?: RefObject<HTMLDivElement | null>;
    showMiniLabel?: boolean;
}
export interface LabelPadding {
    paddingLeft: number | string | undefined;
    paddingRight: number | string | undefined;
}
/**
 * Hook for getting the correct styles for the FormField and its children
 */
export declare function useFormFieldWrapperStyles({ size, align, placeholder, value, invalid, error, max, prefixRef, suffixRef, maxLength, type, disabled, inline, showMiniLabel, }: useFormFieldWrapperStylesProps): {
    inputStyle: string;
    wrapperClasses: string;
    containerClasses: string;
    wrapperInlineStyle: {
        [x: string]: string | number | undefined;
    };
    labelStyle: LabelPadding;
    setLabelStyle: import("react").Dispatch<import("react").SetStateAction<LabelPadding>>;
};
export interface GetAffixProps extends FormFieldProps {
    prefixWidth: number;
    suffixWidth: number;
}
export declare function getAffixPaddding({ value, type, prefixWidth, suffixWidth, }: GetAffixProps): LabelPadding;
