import type { PropsWithChildren, ReactNode } from "react";
import React from "react";
import type { Clearable } from "@jobber/hooks";
import type { FormFieldProps } from "./FormFieldTypes";
export interface FormFieldWrapperProps extends Omit<FormFieldProps, "maxLength"> {
    readonly error: string;
    readonly identifier: string;
    readonly descriptionIdentifier: string;
    readonly clearable: Clearable;
    readonly onClear?: () => void;
    readonly showMiniLabel?: boolean;
    readonly readonly?: boolean;
    /**
     * @deprecated Avoid using FormFieldWrapper's maxLength implementation. It is flawed and only exists for backwards compatibility on v1 components.
     */
    readonly maxLength?: number;
}
export declare function FormFieldWrapper({ align, description, descriptionIdentifier, placeholder, value, children, invalid, error, size, prefix, suffix, max, maxLength, type, disabled, inline, identifier, clearable, onClear, readonly, toolbar, toolbarVisibility, showMiniLabel, wrapperRef, }: PropsWithChildren<FormFieldWrapperProps>): React.JSX.Element;
/**
 * @internal Reach out to UX Foundations if using this component since it is possible it might change
 */
export declare function FormFieldInputHorizontalWrapper({ children, }: PropsWithChildren): React.JSX.Element;
/**
 * @internal Reach out to UX Foundations if using this component since it is possible it might change
 */
export declare function FormFieldInputWrapperStyles({ children, }: {
    readonly children: React.ReactNode;
}): React.JSX.Element;
/**
 * @internal Reach out to UX Foundations if using this component since it is possible it might change
 */
export declare function FormFieldWrapperMain({ children, tabIndex, }: {
    readonly children: React.ReactNode;
    readonly tabIndex?: number;
}): React.JSX.Element;
export declare function FormFieldLabel({ children, htmlFor, style, external, }: {
    readonly children?: ReactNode;
    readonly htmlFor?: string;
    readonly style?: React.CSSProperties;
    readonly external?: boolean;
}): React.JSX.Element | null;
/**
 * @internal Reach out to UX Foundations if using this component since it is possible it might change
 */
export declare function FormFieldWrapperToolbar({ toolbar, isToolbarVisible, toolbarAnimationEnd, toolbarAnimationStart, toolbarVisibility, }: {
    readonly toolbarVisibility: string;
    readonly isToolbarVisible: boolean;
    readonly toolbarAnimationEnd: {
        opacity: number;
        height: number;
    };
    readonly toolbarAnimationStart: {
        opacity: number;
        height: string | number;
    };
    readonly toolbar: ReactNode;
}): React.JSX.Element;
