import { type ButtonHTMLAttributes, type CSSProperties, type FormEvent, type FormHTMLAttributes, type InputHTMLAttributes, type ReactNode } from 'react';
export type LiquidRadioProps = {
label?: ReactNode;
className?: string;
inputClassName?: string;
visualClassName?: string;
inputStyle?: CSSProperties;
style?: CSSProperties;
} & Omit, 'className' | 'style' | 'type'>;
export type LiquidCheckboxProps = {
label?: ReactNode;
className?: string;
inputClassName?: string;
visualClassName?: string;
inputStyle?: CSSProperties;
style?: CSSProperties;
} & Omit, 'className' | 'style' | 'type'>;
export type LiquidSwitchProps = {
label?: ReactNode;
className?: string;
inputClassName?: string;
visualClassName?: string;
inputStyle?: CSSProperties;
style?: CSSProperties;
} & Omit, 'className' | 'style' | 'type'>;
export type LiquidSubmitButtonProps = {
children?: ReactNode;
} & ButtonHTMLAttributes;
export type LiquidRadioOption = {
label: ReactNode;
value: string;
checked?: boolean;
defaultChecked?: boolean;
disabled?: boolean;
};
export type LiquidBooleanOption = {
label: ReactNode;
name: string;
value?: string;
checked?: boolean;
defaultChecked?: boolean;
disabled?: boolean;
};
export type LiquidFormControlsValues = Record;
export type LiquidFormControlsProps = {
radioLegend?: ReactNode;
radioName?: string;
radioOptions?: LiquidRadioOption[];
switchLegend?: ReactNode;
switches?: LiquidBooleanOption[];
checkboxLegend?: ReactNode;
checkboxes?: LiquidBooleanOption[];
submitLabel?: ReactNode;
preventDefault?: boolean;
className?: string;
style?: CSSProperties;
onSubmit?: (values: LiquidFormControlsValues, event: FormEvent) => void;
} & Omit, 'children' | 'className' | 'onSubmit' | 'style'>;
declare const LiquidRadio: ({ label, className, inputClassName, visualClassName, inputStyle, style, onChange, disabled, ...inputProps }: LiquidRadioProps) => import("react/jsx-runtime").JSX.Element;
declare const LiquidCheckbox: ({ label, className, inputClassName, visualClassName, inputStyle, style, onChange, disabled, ...inputProps }: LiquidCheckboxProps) => import("react/jsx-runtime").JSX.Element;
declare const LiquidSwitch: ({ label, className, inputClassName, visualClassName, inputStyle, style, onChange, onPointerEnter, onPointerLeave, disabled, ...inputProps }: LiquidSwitchProps) => import("react/jsx-runtime").JSX.Element;
declare const LiquidSubmitButton: ({ children, className, type, ...buttonProps }: LiquidSubmitButtonProps) => import("react/jsx-runtime").JSX.Element;
declare const LiquidFormControls: ({ radioLegend, radioName, radioOptions, switchLegend, switches, checkboxLegend, checkboxes, submitLabel, preventDefault, className, style, onSubmit, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...formProps }: LiquidFormControlsProps) => import("react/jsx-runtime").JSX.Element;
export { LiquidCheckbox, LiquidFormControls, LiquidRadio, LiquidSubmitButton, LiquidSwitch, };