import * as React from 'react'; import { GenericHTMLProps } from '../utils/types.js'; export declare function useToggle(parameters: useToggle.Parameters): useToggle.ReturnValue; export declare namespace useToggle { interface Parameters { buttonRef?: React.Ref; /** * Whether the toggle button is currently active. */ pressed?: boolean; /** * The default pressed state. Use when the component is not controlled. * @default false */ defaultPressed?: boolean; /** * Whether the component should ignore user interaction. * @default false */ disabled: boolean; /** * Callback fired when the pressed state is changed. * * @param {boolean} pressed The new pressed state. * @param {Event} event The corresponding event that initiated the change. */ onPressedChange: (pressed: boolean, event: Event) => void; /** * State setter for toggle group value when used in a toggle group */ setGroupValue: (newValue: string, nextPressed: boolean, event: Event) => void; /** * A unique string that identifies the component when used * inside a ToggleGroup. */ value: string; } interface ReturnValue { /** * Resolver for the root slot's props. * @param externalProps props for the root slot. * @returns props that should be spread on the root slot. */ getRootProps: (externalProps?: GenericHTMLProps) => GenericHTMLProps; /** * Whether the component should ignore user interaction. */ disabled: boolean; /** * Whether the toggle button is currently active. */ pressed: boolean; } }