import { StructuralSharingOption, ValidateSelected } from './structuralSharing.js'; import { AnyRouter, MakeRouteMatch, MakeRouteMatchUnion, RegisteredRouter, StrictOrFrom, ThrowConstraint, ThrowOrOptional } from '@tanstack/router-core'; export interface UseMatchBaseOptions { select?: (match: MakeRouteMatch) => ValidateSelected; shouldThrow?: TThrow; } export type UseMatchRoute = (opts?: UseMatchBaseOptions & StructuralSharingOption) => UseMatchResult; export type UseMatchOptions = StrictOrFrom & UseMatchBaseOptions & StructuralSharingOption; export type UseMatchResult = unknown extends TSelected ? TStrict extends true ? MakeRouteMatch : MakeRouteMatchUnion : TSelected; export declare function useMatch(opts: UseMatchOptions, TSelected, TStructuralSharing>): ThrowOrOptional, TThrow>;