import { type Atom } from 'jotai';
export interface LoaderState<T> {
    data?: T;
    error?: Error;
    isError: boolean;
    isLoading: boolean;
    isSuccess: boolean;
}
export declare function loader<Value>(asynAtom: Atom<Promise<Value>>): import("jotai").WritableAtom<(get: <Value_1>(atom: Atom<Value_1>) => Value_1, { setSelf }: {
    readonly signal: AbortSignal;
    readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
}) => LoaderState<Value>, [value: Value], void> & {
    init: (get: <Value_1>(atom: Atom<Value_1>) => Value_1, { setSelf }: {
        readonly signal: AbortSignal;
        readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
    }) => LoaderState<Value>;
};
