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