import React, { ElementType, Ref } from 'react'; import { Props } from '../../types.js'; import { HasDisplayName, RefProp } from '../../utils/render.js'; import { ComponentLabel } from '../label/label.js'; import { ComponentDescription } from '../description/description.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' | 'tabIndex'; export type SwitchProps = Props; declare function SwitchFn(props: SwitchProps, ref: Ref): JSX.Element; interface ComponentSwitch extends HasDisplayName { (props: SwitchProps & RefProp): JSX.Element; } interface ComponentSwitchGroup extends HasDisplayName { (props: SwitchGroupProps & RefProp): JSX.Element; } interface ComponentSwitchLabel extends ComponentLabel { } interface ComponentSwitchDescription extends ComponentDescription { } export declare let Switch: ComponentSwitch & { Group: ComponentSwitchGroup; Label: ComponentSwitchLabel; Description: ComponentSwitchDescription; }; export {};