import { Injector } from '@angular/core'; import type { AnyRouter, MakeRouteMatch, MakeRouteMatchUnion, StrictOrFrom, ThrowConstraint, ThrowOrOptional } from '@tanstack/router-core'; import type { RegisteredRouter } from './register'; import type { Observable } from 'rxjs'; import type { Signal } from '@angular/core'; export interface MatchBaseOptions { select?: (match: MakeRouteMatch) => TSelected; shouldThrow?: TThrow; injector?: Injector; } export type MatchRoute = (opts?: MatchBaseOptions) => TObservable extends true ? Observable> : Signal>; export type MatchOptions = StrictOrFrom & MatchBaseOptions; export type MatchResult = unknown extends TSelected ? TStrict extends true ? MakeRouteMatch : MakeRouteMatchUnion : TSelected; export declare function match$({ injector, ...opts }: MatchOptions, TSelected>): Observable, TThrow>>; export declare function match({ injector, ...opts }: MatchOptions, TSelected>): Signal, TThrow>>;