import { VariantProps } from "class-variance-authority";
/**
 *  Extends {@link https:/cva.style/docs/getting-started/variants VariantProps} of {@link labelVariants}
 */
export interface LabelAnimationProps extends VariantProps<typeof labelVariants> {
    /**
     * Text content to display in the label
     */
    label?: string;
    /**
     * Id of the associated form control.
     */
    forElementId?: string;
    /**
     * Controls whether the label should animate to its floating position
     */
    shouldAnimate?: boolean;
    /**
     * Indicates if the associated input field has an error state
     */
    errorStyle?: boolean;
    /**
     * Skips the first animation when set to true
     */
    skipAnimationOnce?: boolean;
    /**
     * CSS classes to apply to the label element
     */
    className?: string;
}
/**
 * Using {@link https:/cva.style/docs/getting-started/variants class-variance-authority}
 */
export declare const labelVariants: (props?: {
    variant?: "float" | "bordered";
} & import("class-variance-authority/types").ClassProp) => string;
/**
 * @param {LabelAnimationProps} props {@link LabelAnimationProps}
 *
 * @example
 * ```tsx
    function MyComponent() {
        return (
            <LabelAnimation
                label="name"
                shouldAnimate={false}
                errorStyle={false}
                skipAnimationOnce={false}
                variant="bordered"
            />
        );
    }
 * ```
 */
export declare function LabelAnimation({ label, forElementId, shouldAnimate, errorStyle, skipAnimationOnce, variant, className, }: LabelAnimationProps): import("react").JSX.Element;
