import { AsJSON, RootStore, Transceiver } from "atom.io/internal"; import { Loadable, MutableAtomFamilyToken, MutableAtomToken, ReadableFamilyToken, ReadableToken, TimelineFamilyToken, TimelineToken, ViewOf, WritableFamilyToken, WritableToken } from "atom.io"; import { Context, FlowProps, JSX } from "solid-js"; import { Canonical } from "atom.io/foundations/canonical"; //#region src/solid/store-context.d.ts declare const StoreContext: Context; declare function StoreProvider({ children, store }: FlowProps<{ store?: RootStore; }>): JSX.Element; //#endregion //#region src/solid/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/solid/use-json.d.ts declare function useJSON>(token: MutableAtomToken): () => AsJSON; declare function useJSON, K extends Canonical>(token: MutableAtomFamilyToken, key: NoInfer): () => AsJSON; //#endregion //#region src/solid/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/solid/use-o.d.ts declare function useO(token: ReadableToken): () => ViewOf; declare function useO(token: ReadableFamilyToken, key: NoInfer): () => ViewOf; //#endregion //#region src/solid/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, useI, useJSON, useLoadable, useO, useTL }; //# sourceMappingURL=index.d.ts.map