import type { Dispatch, SetStateAction } from 'react'; declare const s: unique symbol; type S = typeof s; export type Control = {[s]: T}; type Nullish = null | undefined; export function useControl(control: Control | Nullish, initial: S | (() => S)): [S, Dispatch>, Control]; export function useControl(control: Control): [S, Dispatch>, Control]; export function useControl(control: Control | Nullish): [S | undefined, Dispatch>, Control]; type State = [S, Dispatch>]; export function useThru(control: Control | Nullish, interceptor: (state: State) => State): Control; export function isControl(maybeControl): maybeControl is Control;