import { ReactNode, ButtonHTMLAttributes, ChangeEvent, MouseEvent } from 'react';
type SwitchSize = "small" | "default" | "large";
export interface SwitchProps extends Omit, "ref"> {
/**
* HTML name attribute for the switch button
*/
name?: string;
/**
* HTML id attribute for the switch button
*/
id?: string;
/**
* Label to display next to the Switch component
*/
label?: string;
/**
* Indicates if the Switch is required
*/
required?: boolean;
/**
* Specifies the size of the Switch component
*/
size?: SwitchSize;
/**
* Sets the initial checked state of the Switch component for use in uncontrolled mode
*/
on?: boolean;
/**
* Disabled state of the Switch component
*/
disabled?: boolean;
/**
* Indicates if the Switch has an error state
*/
invalid?: boolean;
/**
* Indicates if the Switch has been validated successfully
*/
valid?: boolean;
/**
* Help text to provide additional information about the Switch
*/
helptext?: ReactNode;
/**
* Text to display when the Switch has validation errors
*/
errortext?: ReactNode;
/**
* Text to display when the Switch has been validated successfully
*/
successtext?: ReactNode;
/**
* Custom class name to apply to the internal button element
*/
className?: string;
/**
* Callback function to handle changes to the switch state
*/
onChange?: (event: ChangeEvent) => void;
/**
* Callback function to handle click events on the switch
*/
onClick?: (event: MouseEvent) => void;
/**
* Custom class name to apply to the wrapper element
* Useful for styling and positioning the outermost element of the component
*/
wrapperClassName?: string;
}
/**
* A basic switch component for toggling between two options.
* Use this component for interactions that produce immediate results.
* For form scenarios requiring submission, use checkboxes instead.
*
* @see https://cloudoperators.github.io/juno/?path=/docs/forms-switch--docs
* @see {@link SwitchProps}
*/
export declare const Switch: ({ name, id, label, required, size, on, disabled, invalid, valid, helptext, errortext, successtext, className, onChange, onClick, wrapperClassName, ...props }: SwitchProps) => ReactNode;
export {};
//# sourceMappingURL=Switch.component.d.ts.map