import { AnyRouter, RegisteredRouter, RouterState } from '@tanstack/router-core'; import { StructuralSharingOption, ValidateSelected } from './structuralSharing.js'; export type UseRouterStateOptions = { router?: TRouter; select?: (state: RouterState) => ValidateSelected; } & StructuralSharingOption; export type UseRouterStateResult = unknown extends TSelected ? RouterState : TSelected; /** * Subscribe to the router's state store with optional selection and * structural sharing for render optimization. * * Options: * - `select`: Project the full router state to a derived slice * - `structuralSharing`: Replace-equal semantics for stable references * - `router`: Read state from a specific router instance instead of context * * @returns The selected router state (or the full state by default). * @link https://tanstack.com/router/latest/docs/framework/react/api/router/useRouterStateHook */ export declare function useRouterState(opts?: UseRouterStateOptions): UseRouterStateResult;