import type { ActionResult } from '../types.js'; /** * Options for navigation */ export interface NavigateOptions { /** Try client-side navigation first (for SPAs) */ preferClientSide?: boolean; /** Open in new tab */ newTab?: boolean; /** Replace current history entry */ replace?: boolean; /** Query parameters to append */ params?: Record; } /** * Tool for page navigation */ export declare class NavigateTool { /** * Navigate to a URL * * @param url - URL or path to navigate to * @param options - Navigation options * @returns Action result */ static execute(url: string, options?: NavigateOptions): Promise; /** * Navigate back in history * * @returns Action result */ static back(): Promise; /** * Navigate forward in history * * @returns Action result */ static forward(): Promise; /** * Reload the current page * * @param forceFetch - Force reload from server (bypass cache) * @returns Action result */ static reload(forceFetch?: boolean): Promise; /** * Get the current URL * * @returns Current URL or null if not in browser */ static getCurrentUrl(): string | null; /** * Get the current path * * @returns Current path or null if not in browser */ static getCurrentPath(): string | null; /** * Check if a URL is valid and safe */ private static isValidUrl; /** * Check if URL is internal to the current site */ private static isInternalUrl; /** * Try client-side navigation using History API */ private static tryClientSideNavigation; /** * Navigate to a hash/anchor on the current page * * @param hash - Hash/anchor name (without #) * @returns Action result */ static toHash(hash: string): Promise; /** * Open URL in new window with specific dimensions * * @param url - URL to open * @param width - Window width * @param height - Window height * @returns Action result */ static openPopup(url: string, width?: number, height?: number): Promise; } //# sourceMappingURL=NavigateTool.d.ts.map