import { AnyRouter, Constrain, InferFrom, InferMaskFrom, InferMaskTo, InferSelected, InferShouldThrow, InferStrict, InferTo, RegisteredRouter } from '@tanstack/router-core'; import { LinkComponentProps } from './link.cjs'; import { UseParamsOptions } from './useParams.cjs'; import { UseSearchOptions } from './useSearch.cjs'; export type ValidateLinkOptions = Constrain, InferTo, InferMaskFrom, InferMaskTo>>; /** * @internal */ export type InferStructuralSharing = TOptions extends { structuralSharing: infer TStructuralSharing; } ? TStructuralSharing : unknown; export type ValidateUseSearchOptions = Constrain, InferStrict, InferShouldThrow, InferSelected, InferStructuralSharing>>; export type ValidateUseParamsOptions = Constrain, InferStrict, InferShouldThrow, InferSelected, InferSelected>>; export type ValidateLinkOptionsArray = ReadonlyArray, TDefaultFrom extends string = string, TComp = 'a'> = { [K in keyof TOptions]: ValidateLinkOptions; };