import { AtomInstanceTtl, Prettify } from '@zedux/atoms';
import { AtomApiGenerics } from './types';
export declare class AtomApi<G extends AtomApiGenerics> {
    static $$typeof: symbol;
    exports?: G['Exports'];
    promise: G['Promise'];
    store: G['Store'];
    signal: undefined;
    ttl?: AtomInstanceTtl | (() => AtomInstanceTtl);
    value: G['State'] | G['Store'];
    constructor(value: AtomApi<G> | G['Store'] | G['State']);
    addExports<NewExports extends Record<string, any>>(exports: NewExports): AtomApi<Prettify<Omit<G, 'Exports'> & {
        Exports: (G['Exports'] extends Record<string, never> ? unknown : G['Exports']) & NewExports;
    }>>;
    setExports<NewExports extends Record<string, any>>(exports: NewExports): AtomApi<Prettify<Omit<G, 'Exports'> & {
        Exports: NewExports;
    }>>;
    setPromise(): AtomApi<Omit<G, 'Promise'> & {
        Promise: undefined;
    }>;
    setPromise<P extends Promise<any> | undefined>(promise: P): AtomApi<Omit<G, 'Promise'> & {
        Promise: P;
    }>;
    setTtl(ttl: AtomInstanceTtl | (() => AtomInstanceTtl)): this;
}
