import * as react_jsx_runtime from 'react/jsx-runtime';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { VariantProps } from 'class-variance-authority';

type PasswordStrength = "none" | "low" | "medium" | "high";
interface PasswordRequirement {
    label: string;
    met: boolean;
}
declare const inputCaptionVariants: (props?: ({
    variant?: "default" | "checkbox" | "password" | "error" | "success" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
interface InputCaptionProps extends Omit<React.ComponentProps<"div">, "children">, VariantProps<typeof inputCaptionVariants> {
    children?: React.ReactNode;
    /** Shown for `default` and `checkbox` variants */
    text?: string;
    /** Shown for `success` variant */
    successText?: string;
    /** Shown for `error` variant */
    errorText?: string;
    /** Password variant: overall strength */
    strength?: PasswordStrength;
    /** Password variant: list of requirements with met/unmet state */
    requirements?: PasswordRequirement[];
    /** Checkbox variant: controlled checked state */
    checked?: boolean;
    /** Checkbox variant: change handler */
    onCheckedChange?: (checked: boolean) => void;
}
declare function InputCaption({ className, variant, text, successText, errorText, strength, requirements, checked, onCheckedChange, ...props }: InputCaptionProps): react_jsx_runtime.JSX.Element;
declare const captionTextVariants: (props?: ({
    variant?: "default" | "error" | "success" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
declare function InputCaptionText({ className, variant, ...props }: React.ComponentProps<"p"> & VariantProps<typeof captionTextVariants>): react_jsx_runtime.JSX.Element;
declare function PasswordStrengthBar({ className, strength, ...props }: React.ComponentProps<"div"> & {
    strength?: PasswordStrength;
}): react_jsx_runtime.JSX.Element;
declare function PasswordRequirementRow({ className, label, met, ...props }: React.ComponentProps<"div"> & {
    label: string;
    met: boolean;
}): react_jsx_runtime.JSX.Element;

export { InputCaption, type InputCaptionProps, InputCaptionText, type PasswordRequirement, PasswordRequirementRow, type PasswordStrength, PasswordStrengthBar, captionTextVariants, inputCaptionVariants };
