UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

37 lines (36 loc) 1.84 kB
import type { Api } from "../../../Api"; import { FetchPromise, type ModuleApi, type ResponseObject } from "../../../modules/ModuleApi"; import { type SWRConfiguration } from "swr"; export declare const useApiQuery: <Data, RefineFn extends (data: ResponseObject<Data>) => unknown = (data: ResponseObject<Data>) => Data>(fn: (api: Api) => FetchPromise<Data>, options?: SWRConfiguration & { enabled?: boolean; refine?: RefineFn; }) => { promise: FetchPromise<Data>; key: string; api: Api; data: (RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data) | undefined; error: any; mutate: import("swr").KeyedMutator<RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data>; isValidating: boolean; isLoading: boolean; }; /** @attention: highly experimental, use with caution! */ export declare const useApiInfiniteQuery: <Data, RefineFn extends (data: ResponseObject<Data>) => unknown = (data: ResponseObject<Data>) => Data>(fn: (api: Api, page: number) => FetchPromise<Data>, options?: SWRConfiguration & { refine?: RefineFn; }) => { _data: (RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[] | undefined; data: never[]; endReached: boolean; promise: FetchPromise<Data>; key: string; api: Api; size: number; setSize: (size: number | ((_size: number) => number)) => Promise<(RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[] | undefined>; mutate: import("swr/infinite").SWRInfiniteKeyedMutator<(RefineFn extends (data: ResponseObject<Data>) => infer R ? R : Data)[]>; error: any; isValidating: boolean; isLoading: boolean; }; export declare const useInvalidate: (options?: { exact?: boolean; }) => (arg?: string | ((api: Api) => FetchPromise<any> | ModuleApi<any>)) => Promise<any>;