import { type CSSProperties, type InputHTMLAttributes, type ReactNode } from 'react';
export type BubbleControlSize = 'sm' | 'md' | 'lg';
type BubbleControlStyle = CSSProperties & {
'--bubble-control-checked-track'?: string;
'--bubble-control-color'?: string;
'--bubble-control-focus'?: string;
'--bubble-control-ink'?: string;
'--bubble-control-track'?: string;
};
export type BubbleToggleProps = {
label?: ReactNode;
checked?: boolean;
defaultChecked?: boolean;
onCheckedChange?: (checked: boolean) => void;
size?: BubbleControlSize;
id?: string;
name?: string;
value?: string;
disabled?: boolean;
required?: boolean;
className?: string;
inputClassName?: string;
labelClassName?: string;
style?: BubbleControlStyle;
inputProps?: Omit, 'checked' | 'children' | 'className' | 'defaultChecked' | 'disabled' | 'id' | 'name' | 'onChange' | 'required' | 'style' | 'type' | 'value'>;
};
export type BubbleRadioProps = {
label?: ReactNode;
checked?: boolean;
defaultChecked?: boolean;
onCheckedChange?: (checked: boolean) => void;
size?: BubbleControlSize;
id?: string;
name?: string;
value?: string;
disabled?: boolean;
required?: boolean;
className?: string;
inputClassName?: string;
labelClassName?: string;
style?: BubbleControlStyle;
inputProps?: Omit, 'checked' | 'children' | 'className' | 'defaultChecked' | 'disabled' | 'id' | 'name' | 'onChange' | 'required' | 'style' | 'type' | 'value'>;
};
export type BubbleRatingProps = {
value?: number;
defaultValue?: number;
onValueChange?: (value: number) => void;
max?: number;
label?: ReactNode;
name?: string;
size?: BubbleControlSize;
disabled?: boolean;
readOnly?: boolean;
required?: boolean;
getRatingLabel?: (value: number, max: number) => string;
className?: string;
inputClassName?: string;
starClassName?: string;
style?: BubbleControlStyle;
};
export type BubbleRangeProps = {
value?: number;
defaultValue?: number;
onValueChange?: (value: number) => void;
min?: number;
max?: number;
step?: number;
label?: ReactNode;
size?: BubbleControlSize;
id?: string;
name?: string;
disabled?: boolean;
required?: boolean;
className?: string;
inputClassName?: string;
labelClassName?: string;
style?: BubbleControlStyle;
inputProps?: Omit, 'children' | 'className' | 'defaultValue' | 'disabled' | 'id' | 'max' | 'min' | 'name' | 'onChange' | 'required' | 'step' | 'style' | 'type' | 'value'>;
};
export type BubbleColorPickerProps = {
value?: string;
defaultValue?: string;
onValueChange?: (value: string) => void;
label?: ReactNode;
size?: BubbleControlSize;
id?: string;
name?: string;
disabled?: boolean;
required?: boolean;
className?: string;
inputClassName?: string;
labelClassName?: string;
style?: BubbleControlStyle;
inputProps?: Omit, 'children' | 'className' | 'defaultValue' | 'disabled' | 'id' | 'name' | 'onChange' | 'required' | 'style' | 'type' | 'value'>;
};
export type BubbleFileDropProps = {
label?: ReactNode;
selectedLabel?: (files: FileList) => ReactNode;
onFilesChange?: (files: FileList | null) => void;
multiple?: boolean;
accept?: string;
id?: string;
name?: string;
disabled?: boolean;
required?: boolean;
className?: string;
inputClassName?: string;
labelClassName?: string;
style?: BubbleControlStyle;
inputProps?: Omit, 'accept' | 'children' | 'className' | 'disabled' | 'id' | 'multiple' | 'name' | 'onChange' | 'required' | 'style' | 'type'>;
};
export declare const BubbleToggle: ({ label, checked, defaultChecked, onCheckedChange, size, id, name, value, disabled, required, className, inputClassName, labelClassName, style, inputProps, }: BubbleToggleProps) => import("react/jsx-runtime").JSX.Element;
export declare const BubbleRadio: ({ label, checked, defaultChecked, onCheckedChange, size, id, name, value, disabled, required, className, inputClassName, labelClassName, style, inputProps, }: BubbleRadioProps) => import("react/jsx-runtime").JSX.Element;
export declare const BubbleRating: ({ value, defaultValue, onValueChange, max, label, name, size, disabled, readOnly, required, getRatingLabel, className, inputClassName, starClassName, style, }: BubbleRatingProps) => import("react/jsx-runtime").JSX.Element;
export declare const BubbleRange: ({ value, defaultValue, onValueChange, min, max, step, label, size, id, name, disabled, required, className, inputClassName, labelClassName, style, inputProps, }: BubbleRangeProps) => import("react/jsx-runtime").JSX.Element;
export declare const BubbleColorPicker: ({ value, defaultValue, onValueChange, label, size, id, name, disabled, required, className, inputClassName, labelClassName, style, inputProps, }: BubbleColorPickerProps) => import("react/jsx-runtime").JSX.Element;
export declare const BubbleFileDrop: ({ label, selectedLabel, onFilesChange, multiple, accept, id, name, disabled, required, className, inputClassName, labelClassName, style, inputProps, }: BubbleFileDropProps) => import("react/jsx-runtime").JSX.Element;
export {};