/** * Manages state that can be either controlled or uncontrolled. * * When `value` is provided, the component is controlled — the caller owns * the state and `onChange` is called on updates. When omitted, internal * state is used with `defaultValue` as the initial value. */ export declare function useControllableState({ value: controlledValue, defaultValue, onChange, }: { /** Controlled value. When provided, component is controlled. */ value?: T; /** Initial value for uncontrolled mode. */ defaultValue: T; /** Called when the value changes (both modes). */ onChange?: (value: T) => void; }): [T, (value: T) => void];