import type { Optional } from '@sudobility/types'; import type { NavigationService, NavigationOptions, NavigationState, NavigationHook, LocationHook } from '../navigation/navigation.js'; export interface RecordedNavigation { type: 'navigate' | 'goBack' | 'goForward' | 'replace'; path?: string | undefined; options?: NavigationOptions | undefined; timestamp: number; } export declare class MockNavigationService implements NavigationService { private history; private historyIndex; private params; private searchParams; private state; private listeners; private supported; private navigationEvents; navigate(path: string, options?: Optional): void; goBack(fallbackPath?: Optional): void; goForward(): void; replace(path: string, options?: Optional): void; getCurrentState(): NavigationState; getCurrentPath(): string; getSearchParams(): Record; getParams(): Record; canGoBack(): boolean; canGoForward(): boolean; addListener(listener: (state: NavigationState) => void): () => void; isSupported(): boolean; private notifyListeners; setParams(params: Record): void; setSearchParams(searchParams: Record): void; setState(state: unknown): void; getState(): unknown; setSupported(supported: boolean): void; getNavigationHistory(): RecordedNavigation[]; getUrlHistory(): string[]; getHistoryIndex(): number; getListenerCount(): number; reset(): void; } export declare class MockNavigationHook implements NavigationHook { currentPath: string; searchParams: Record; params: Record; canGoBack: boolean; isSupported: boolean; private navigationHistory; navigate: (path: string, options?: Optional) => void; goBack: (fallbackPath?: Optional) => void; replace: (path: string, options?: Optional) => void; setCurrentPath(path: string): void; setSearchParams(params: Record): void; setParams(params: Record): void; setCanGoBack(canGoBack: boolean): void; setIsSupported(supported: boolean): void; getNavigationHistory(): RecordedNavigation[]; reset(): void; } export declare class MockLocationHook implements LocationHook { pathname: string; search: string; searchParams: Record; hash: string; state: unknown; key: string; constructor(url?: string); setFromUrl(url: string): void; setPathname(pathname: string): void; setSearch(search: string): void; setSearchParams(params: Record): void; setHash(hash: string): void; setState(state: unknown): void; setKey(key: string): void; reset(): void; } //# sourceMappingURL=navigation.mock.d.ts.map