import { A as Atom } from './types-CxOJPpKX.cjs';

/**
 * Returns a value which is provided by the atom.
 *
 * @param source – a provider of a value
 */
declare function useAtom<T>(source: Atom<T>): T;

type UseAtomsFn = {
    (sources?: undefined): Record<string, never>;
    <TSourceAtoms extends Record<string, Atom<unknown>>, TResult extends {
        [K in keyof TSourceAtoms]: TSourceAtoms[K] extends Atom<infer V> ? V : never;
    }>(sources: TSourceAtoms): TResult;
};
declare const useAtoms: UseAtomsFn;

export { useAtom, useAtoms };
