import type { Atom, ExtractAtomArgs, ExtractAtomResult, ExtractAtomValue, PrimitiveAtom, SetStateAction, WritableAtom } from 'jotai/vanilla'; import { useAtomValue } from './useAtomValue'; type SetAtom = (...args: Args) => Result; type Options = Parameters[1]; export declare function useAtom(atom: WritableAtom, options?: Options): [Awaited, SetAtom]; export declare function useAtom(atom: PrimitiveAtom, options?: Options): [Awaited, SetAtom<[SetStateAction], void>]; export declare function useAtom(atom: Atom, options?: Options): [Awaited, never]; export declare function useAtom>(atom: AtomType, options?: Options): [ Awaited>, SetAtom, ExtractAtomResult> ]; export declare function useAtom>(atom: AtomType, options?: Options): [Awaited>, never]; export {};