/// import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; import { Label } from '@fluentui/react-label'; import * as React_2 from 'react'; import type { Slot } from '@fluentui/react-utilities'; import type { SlotClassNames } from '@fluentui/react-utilities'; /** * Render a Switch component by passing the state defined props to the appropriate slots. */ export declare const renderSwitch_unstable: (state: SwitchState) => JSX.Element; /** * Switches enable users to trigger an option on or off through pressing the component. */ export declare const Switch: ForwardRefComponent; /** * @deprecated Use `switchClassNames.root` instead. */ export declare const switchClassName: string; export declare const switchClassNames: SlotClassNames; export declare type SwitchOnChangeData = { checked: boolean; }; /** * Switch Props */ export declare type SwitchProps = Omit, 'input'>, 'checked' | 'defaultChecked' | 'onChange'> & { /** * Defines the controlled checked state of the Switch. * If passed, Switch ignores the `defaultChecked` property. * This should only be used if the checked state is to be controlled at a higher level and there is a plan to pass the * correct value based on handling `onChange` events and re-rendering. * * @default false */ checked?: boolean; /** * Defines whether the Switch is initially in a checked state or not when rendered. * * @default false */ defaultChecked?: boolean; /** * The position of the label relative to the Switch. * * @default after */ labelPosition?: 'above' | 'after' | 'before'; /** * Callback to be called when the checked state value changes. */ onChange?: (ev: React_2.ChangeEvent, data: SwitchOnChangeData) => void; }; export declare type SwitchSlots = { /** * The root element of the Switch. * * The root slot receives the `className` and `style` specified directly on the `` tag. * All other native props will be applied to the primary slot: `input`. */ root: NonNullable>; /** * The track and the thumb sliding over it indicating the on and off status of the Switch. */ indicator: NonNullable>; /** * Hidden input that handles the Switch's functionality. * * This is the PRIMARY slot: all native properties specified directly on the `` tag will be applied to this * slot, except `className` and `style`, which remain on the root slot. */ input: NonNullable>; /** * The Switch's label. */ label?: Slot; }; /** * State used in rendering Switch */ export declare type SwitchState = ComponentState & Required>; /** * Create the state required to render Switch. * * The returned state can be modified with hooks such as useSwitchStyles_unstable, * before being passed to renderSwitch_unstable. * * @param props - props from this instance of Switch * @param ref - reference to `` element of Switch */ export declare const useSwitch_unstable: (props: SwitchProps, ref: React_2.Ref) => SwitchState; /** * Apply styling to the Switch slots based on the state */ export declare const useSwitchStyles_unstable: (state: SwitchState) => SwitchState; export { }