import type { QueryStore, QueryStoreState } from '../queryStore/types'; import type { StoreApi } from '../store/types'; import type { BaseStore, InferStoreState, PersistedStore } from '../types'; /** * Calls the appropriate reset or destroy method on the store, if available. * Handles both `DerivedStore` and `QueryStore`. */ export declare function destroyStore(store: BaseStore | StoreApi | QueryStore, unknown>, options?: { clearQueryCache?: boolean; }): void; export declare function destroyStores(stores: Partial | StoreApi>> | (BaseStore | StoreApi | undefined)[], options?: { clearQueryCache?: boolean; skipDestroy?: (store: BaseStore | StoreApi) => boolean; }): void; /** * Returns the name of the store, either from the `persist` options or the store itself. */ export declare function getStoreName(store: BaseStore): string; /** * Checks if a store is a `DerivedStore` and reveals its internal `getSnapshot` method. */ export declare function hasGetSnapshot | StoreApi>(store: T): store is T & { getSnapshot: () => InferStoreState; }; /** * Checks if a store is a `QueryStore`. */ export declare function isQueryStore(store: T): store is Extract, unknown>>>; /** * Checks if a store is a `DerivedStore`. */ export declare function isDerivedStore | StoreApi>(store: T): store is T & { destroy: () => void; flushUpdates: () => void; }; /** * Checks if a store is persisted. */ export declare function isPersistedStore | PersistedStore>(store: T): store is T & { persist: PersistedStore>['persist']; }; /** * Checks if a store is a virtual store. */ export declare function isVirtualStore | StoreApi>(store: T): store is T & BaseStore>; //# sourceMappingURL=storeUtils.d.ts.map