import { type PartialWithUndefined } from '@augment-vir/common'; import { type GenericTreePaths } from './path-tree.js'; import { type FullSpaRoute, type SpaRouteByPath } from './spa-route.js'; /** * Checks if a given path array matches the given {@link PathTree} sub-tree. * * @category Internal */ export declare function matchesPaths>>(currentPaths: ReadonlyArray, treePaths: Readonly): currentPaths is Readonly<[ ...TreePaths['PathsType'], ...string[] ]>; /** * Checks if a given path array exactly equals the given {@link PathTree} sub-tree. This is in * contrast with {@link matchesPaths} which only checks to see if the given `treePaths` are included * in `currentPaths`. * * @category Internal */ export declare function exactlyMatchesPaths>>(currentPaths: ReadonlyArray, treePaths: Readonly): currentPaths is Readonly; /** * Options for {@link routeHasPaths}. * * @category Internal */ export type RouteHasPathsOptions = PartialWithUndefined<{ /** * If true, requires exact equality instead of just checking if the tree paths are a prefix of * the current route paths. * * @default false */ exactMatch: ExactMatch; }>; /** * Checks if the given route matches the given {@link PathTree} sub-tree and type guards the route. * * @category Main */ export declare function routeHasPaths>, const Route extends Readonly>, const ExactMatch extends boolean = false>(currentRoute: Readonly, treePaths: Readonly, options?: Readonly>): currentRoute is ExactMatch extends true ? Readonly : Readonly>;