import React, { type ElementType, type Ref } from 'react'; import type { Props } from '../../types.js'; import { type HasDisplayName, type RefProp } from '../../utils/render.js'; import { _internal_ComponentDescription } from '../description/description.js'; import { _internal_ComponentLabel } from '../label/label.js'; declare let DEFAULT_GROUP_TAG: React.ExoticComponent<{ children?: React.ReactNode; }>; export type SwitchGroupProps = Props; declare function GroupFn(props: SwitchGroupProps): JSX.Element; declare let DEFAULT_SWITCH_TAG: "button"; interface SwitchRenderPropArg { checked: boolean; } type SwitchPropsWeControl = 'aria-checked' | 'aria-describedby' | 'aria-labelledby' | 'role'; export type SwitchProps = Props; declare function SwitchFn(props: SwitchProps, ref: Ref): JSX.Element; export interface _internal_ComponentSwitch extends HasDisplayName { (props: SwitchProps & RefProp): JSX.Element; } export interface _internal_ComponentSwitchGroup extends HasDisplayName { (props: SwitchGroupProps & RefProp): JSX.Element; } export interface _internal_ComponentSwitchLabel extends _internal_ComponentLabel { } export interface _internal_ComponentSwitchDescription extends _internal_ComponentDescription { } export declare let Switch: _internal_ComponentSwitch & { Group: _internal_ComponentSwitchGroup; Label: _internal_ComponentSwitchLabel; Description: _internal_ComponentSwitchDescription; }; export {};