import { Store, StoreStateType } from '@zedux/core'; import { AtomConfig, AtomApiPromise, AtomValueOrFactory, PromiseState } from '../types/index.js'; import { AtomTemplate } from '../classes/templates/AtomTemplate.js'; import { AtomApi } from '../classes/AtomApi.js'; export declare const atom: { = Record>(key: string, value: (...params: Params) => AtomApi<{ Exports: Exports; Promise: any; State: Promise; Store: undefined; }>, config?: AtomConfig): AtomTemplate<{ State: PromiseState; Params: Params; Exports: Exports; Store: Store>; Promise: Promise; }>; = Store, Params extends any[] = [], Exports extends Record = Record, PromiseType extends AtomApiPromise = undefined>(key: string, value: (...params: Params) => StoreType | AtomApi<{ Exports: Exports; Promise: PromiseType; State: StoreStateType; Store: StoreType; }>, config?: AtomConfig>): AtomTemplate<{ State: StoreStateType; Params: Params; Exports: Exports; Store: StoreType; Promise: PromiseType; }>; = Record, StoreType extends Store = Store, PromiseType extends AtomApiPromise = undefined>(key: string, value: AtomValueOrFactory<{ Exports: Exports; Params: Params; Promise: PromiseType; State: State; Store: StoreType; }>, config?: AtomConfig): AtomTemplate<{ Exports: Exports; Params: Params; Promise: PromiseType; State: State; Store: StoreType; }>; };