import * as O from 'optics-ts'; import type { SetStateAction, WritableAtom } from 'jotai'; declare type NonFunction = [T] extends [(...args: any[]) => any] ? never : T; export declare function focusAtom>(baseAtom: WritableAtom, NonFunction, R>, callback: (optic: O.OpticFor) => O.Prism): WritableAtom, R>; export declare function focusAtom>(baseAtom: WritableAtom, NonFunction, R>, callback: (optic: O.OpticFor) => O.Traversal): WritableAtom, R>; export declare function focusAtom>(baseAtom: WritableAtom, NonFunction, R>, callback: (optic: O.OpticFor) => O.Lens | O.Equivalence | O.Iso): WritableAtom, R>; export declare function focusAtom>(baseAtom: WritableAtom, R>, callback: (optic: O.OpticFor) => O.Prism): WritableAtom, R>; export declare function focusAtom>(baseAtom: WritableAtom, R>, callback: (optic: O.OpticFor) => O.Traversal): WritableAtom, R>; export declare function focusAtom>(baseAtom: WritableAtom, R>, callback: (optic: O.OpticFor) => O.Lens | O.Equivalence | O.Iso): WritableAtom, R>; export {};