import type { DefineApiOptions, DefineApiResult } from "../api/defineApi.js"; import type { StoreData } from "./StoreData.js"; import type { FetchOptions } from "./FetchOptions.js"; import type { ApiResponse } from "../index.js"; import type { ServicesRecord } from "../services/ServicesRecord.js"; export type DefineStoreInterface = { createStore: (fetcher: () => AsyncGenerator>) => Store; storeCache: Map; getStoreData: (store: Store) => StoreData; unwrapStore?: (store: Store) => any; refreshOnStoreRequest?: boolean; allowNoCache: boolean; frameworkName: string; }; export type DefineStoreOptions = DefineApiOptions & FetchOptions; export type DefineStoreResult, StoreProxy> = DefineApiResult & { store: StoreProxy; useStore: (options?: FetchOptions) => StoreProxy; }; export declare function defineStore(options: DefineStoreOptions, { storeCache, refreshOnStoreRequest, frameworkName, allowNoCache, createStore, getStoreData, unwrapStore, }: DefineStoreInterface): { store: unknown; useStore: ({ cache, network, interval, persist, fetcher: customFetcher, }?: FetchOptions) => unknown; api: import("../api/Api.js").Api>; beacon: import("../api/Api.js").BeaconApi>; callApi: (options: import("../api/defineApi.js").CallApiOptions) => import("../api/Api.js").Api>; resolveApiCall: (options: import("../api/defineApi.js").CallApiOptions, service: string, target: string, properties: string[], body?: Uint8Array | null, key?: string) => Promise>; };