declare module '@ember/routing/lib/utils' { import type { ControllerQueryParam, ControllerQueryParamType } from '@ember/controller'; import type Router from 'router_js'; import type { ExtendedInternalRouteInfo } from '@ember/routing/route'; import type Route from '@ember/routing/route'; import type EmberRouter from '@ember/routing/router'; export type ExpandedControllerQueryParam = { as: string | null; scope: string; type?: ControllerQueryParamType; }; export type NamedRouteArgs = | [routeNameOrUrl: string, ...modelsAndOptions: [...unknown[], RouteOptions]] | [routeNameOrUrl: string, ...models: unknown[]]; export type UnnamedRouteArgs = | [...modelsAndOptions: [...unknown[], RouteOptions]] | [...models: unknown[]] | [options: RouteOptions]; export type RouteArgs = NamedRouteArgs | UnnamedRouteArgs; type ExtractedArgs = { routeName: string | undefined; models: unknown[]; queryParams: Record; }; export type RouteOptions = { queryParams: Record; }; export function extractRouteArgs(args: RouteArgs): ExtractedArgs; export function getActiveTargetName(router: Router): string; export function stashParamNames( router: EmberRouter, routeInfos: Array> & { _namesStashed?: boolean; } ): void; export function calculateCacheKey( prefix: string, parts: string[] | undefined, values: {} | null ): string; export function normalizeControllerQueryParams( queryParams: Readonly ): Record; export function resemblesURL(str: unknown): str is string; export function prefixRouteNameArg( route: Route, args: T ): T; export function shallowEqual(a: A, b: B): boolean; export {}; }