import { type UseStateInitializer, type UseStateSetter } from "./types.js";
/**
 * @since 6.0.0
 */
export interface ToggleImplementation {
    toggled: boolean;
    setToggled: UseStateSetter<boolean>;
    toggle: () => void;
    enable: () => void;
    disable: () => void;
}
/**
 * @example Simple Example
 * ```tsx
 * import { Button } from "@react-md/core/button/Button";
 * import { useToggle } from "@react-md/core/useToggle";
 * import { type ReactElement } from "react";
 *
 * function Example(): ReactElement {
 *   const { toggled, toggle } = useToggle();
 *
 *   return (
 *     <>
 *       <Button onClick={toggle}>Toggle</Button>
 *       {`Toggled: ${toggled}`}
 *     </>
 *   );
 * }
 * ```
 *
 * @param defaultValue - `false`
 */
export declare function useToggle(defaultValue?: UseStateInitializer<boolean>): ToggleImplementation;
