import { Optional } from '@sudobility/types'; interface NavigationOptions { replace?: Optional; state?: Optional; preventScrollReset?: Optional; } interface NavigationState { currentPath: string; previousPath?: Optional; params: Record; searchParams: Record; } interface NavigationService { 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; } interface NavigationHook { navigate: (path: string, options?: Optional) => void; goBack: (fallbackPath?: Optional) => void; replace: (path: string, options?: Optional) => void; currentPath: string; searchParams: Record; params: Record; canGoBack: boolean; isSupported: boolean; } interface LocationHook { pathname: string; search: string; searchParams: Record; hash: string; state: unknown; key: string; } interface NavigationConfig { enableBackGesture?: Optional; enableSwipeGesture?: Optional; animationType?: Optional<'slide' | 'fade' | 'none'>; enableAnalytics?: Optional; fallbackPath?: Optional; } interface URLService { removeQueryParam(param: string): void; getQueryParam?(param: string): Optional; setQueryParam?(param: string, value: string): void; getCurrentUrl?(): string; } export { type NavigationOptions, type NavigationState, type NavigationService, type NavigationHook, type LocationHook, type NavigationConfig, type URLService, }; //# sourceMappingURL=navigation.d.ts.map