import { AsJSON, RootStore, Transceiver } from "atom.io/internal"; import { Loadable, MutableAtomFamilyToken, MutableAtomToken, ReadableFamilyToken, ReadableToken, RegularAtomFamilyToken, RegularAtomToken, TimelineFamilyToken, TimelineToken, ViewOf, WritableFamilyToken, WritableToken } from "atom.io"; import { Canonical } from "atom.io/foundations/canonical"; //#region src/react/store-context.d.ts declare const StoreContext: React.Context; declare const StoreProvider: React.FC<{ children: React.ReactNode; store?: RootStore; }>; //#endregion //#region src/react/use-atomic-ref.d.ts declare function useAtomicRef(token: RegularAtomToken, useRef: (initialValue: TT | null) => R): R; declare function useAtomicRef(token: RegularAtomFamilyToken, key: NoInfer, useRef: (initialValue: TT | null) => R): R; //#endregion //#region src/react/use-i.d.ts declare function useI(token: WritableToken): (next: New | ((old: T) => New)) => void; declare function useI(token: WritableFamilyToken, key: NoInfer): (next: New | ((old: T) => New)) => void; //#endregion //#region src/react/use-json.d.ts declare function useJSON>(token: MutableAtomToken): AsJSON; declare function useJSON, K extends Canonical>(token: MutableAtomFamilyToken, key: NoInfer): AsJSON; //#endregion //#region src/react/use-loadable.d.ts declare function useLoadable(token: ReadableToken, any, E>): `LOADING` | { loading: boolean; value: ViewOf; }; declare function useLoadable(token: ReadableFamilyToken, K, E>, key: NoInfer): `LOADING` | { loading: boolean; value: ViewOf; }; declare function useLoadable(token: ReadableToken, any, E>, fallback: F): { loading: boolean; value: ViewOf; error?: E; }; declare function useLoadable(token: ReadableFamilyToken, K, E>, key: NoInfer, fallback: F): { loading: boolean; value: ViewOf; error?: E; }; //#endregion //#region src/react/use-o.d.ts declare function useO(token: ReadableToken): ViewOf; declare function useO(token: ReadableFamilyToken, key: NoInfer): ViewOf; //#endregion //#region src/react/use-single-effect.d.ts declare function useSingleEffect(effect: () => (() => void) | undefined | void, deps: unknown[]): void; //#endregion //#region src/react/use-tl.d.ts type TimelineMeta = { at: number; length: number; undo: () => void; redo: () => void; clear: () => void; /** Undo the current transaction on every timeline where it is at the head. */ undoTransaction?: () => void; /** Redo the next transaction on every timeline where it is at the head. */ redoTransaction?: () => void; }; declare function useTL(token: TimelineToken): TimelineMeta; declare function useTL(family: TimelineFamilyToken, key: NoInfer): TimelineMeta; //#endregion export { StoreContext, StoreProvider, TimelineMeta, useAtomicRef, useI, useJSON, useLoadable, useO, useSingleEffect, useTL }; //# sourceMappingURL=index.d.ts.map