import { type ReactNode } from 'react'; export interface UnsavedChangesGuardOptions { when: boolean; message?: string; /** Keep the page mounted while a write is running or its result is unknown. */ preventNavigation?: boolean; /** Shared controls can also be hosted by a platform console with its own router. */ optionalProvider?: boolean; } /** Register local dirty state with the application's single navigation owner. */ export declare function useUnsavedChangesGuard({ when, message, preventNavigation, optionalProvider }: UnsavedChangesGuardOptions): { release: () => void | undefined; confirmNavigation: (proceed: () => void) => void; }; /** Exactly one browser router, disposed across real unmount and StrictMode replay. */ export declare function ApplicationRouter({ basename, children }: { basename?: string; children: ReactNode; }): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=navigation-guard.d.ts.map