import { StructuralSharingOption, ValidateSelected } from './structuralSharing.js'; import { AnyRouter, RegisteredRouter, ResolveUseParams, StrictOrFrom, ThrowConstraint, ThrowOrOptional, UseParamsResult } from '@tanstack/router-core'; export interface UseParamsBaseOptions { select?: (params: ResolveUseParams) => ValidateSelected; shouldThrow?: TThrow; } export type UseParamsOptions = StrictOrFrom & UseParamsBaseOptions & StructuralSharingOption; export type UseParamsRoute = (opts?: UseParamsBaseOptions & StructuralSharingOption) => UseParamsResult; /** * Access the current route's path parameters with type-safety. * * Options: * - `from`/`strict`: Specify the matched route and whether to enforce strict typing * - `select`: Project the params object to a derived value for memoized renders * - `structuralSharing`: Enable structural sharing for stable references * - `shouldThrow`: Throw if the route is not found in strict contexts * * @returns The params object (or selected value) for the matched route. * @link https://tanstack.com/router/latest/docs/framework/react/api/router/useParamsHook */ export declare function useParams(opts: UseParamsOptions, TSelected, TStructuralSharing>): ThrowOrOptional, TThrow>;