import { AnyRoute } from './route.cjs'; import { RouterState } from './router.cjs'; import { FullSearchSchema } from './routeInfo.cjs'; import { ParsedLocation } from './location.cjs'; import { AnyRouteMatch } from './Matches.cjs'; export interface RouterReadableStore { get: () => TValue; } export interface RouterWritableStore extends RouterReadableStore { set: ((updater: (prev: TValue) => TValue) => void) & ((value: TValue) => void); } export type RouterBatchFn = (fn: () => void) => void; export type MutableStoreFactory = (initialValue: TValue) => RouterWritableStore; export type ReadonlyStoreFactory = (read: () => TValue) => RouterReadableStore; export type GetStoreConfig = (opts: { isServer?: boolean; }) => StoreConfig; export type StoreConfig = { createMutableStore: MutableStoreFactory; createReadonlyStore: ReadonlyStoreFactory; batch: RouterBatchFn; }; type MatchStore = RouterWritableStore; type ReadableStore = RouterReadableStore; /** SSR non-reactive createMutableStore */ export declare function createNonReactiveMutableStore(initialValue: TValue): RouterWritableStore; /** SSR non-reactive createReadonlyStore */ export declare function createNonReactiveReadonlyStore(read: () => TValue): RouterReadableStore; export interface RouterStores { status: RouterWritableStore['status']>; location: RouterWritableStore>>; resolvedLocation: RouterWritableStore> | undefined>; ids: RouterWritableStore>; matches: ReadableStore>; __store: RouterReadableStore>; byRoute: Map; /** * Get the stable atom for a route's presented match. The atom remains in the * pool when the route leaves and contains `undefined` until it re-enters. */ getMatchStore: (routeId: string) => RouterReadableStore; setMatches: (nextMatches: Array) => void; } export declare function createRouterStores(initialLocation: RouterState['location'], config: StoreConfig): RouterStores; export {};