interface RouteParams {
    [key: string]: string;
}
/**
 * Parse the query string out of an admin path (`/pages/new?parent=abc`) or a
 * raw search string (`?parent=abc`) into `URLSearchParams`. Pure helper for
 * view components that only receive `currentPath` / `onNavigate` props.
 */
export declare function parseRouteQuery(path: string): URLSearchParams;
/** Confirmation shown when navigating away from an editor with unsaved changes. */
export declare const NAVIGATION_CONFIRM_MESSAGE = "You have unsaved changes that will be lost. Leave this page anyway?";
type BlockerPredicate = () => boolean;
export declare function registerNavigationBlocker(predicate: BlockerPredicate): () => void;
/** True when any registered editor currently has unsaved changes. */
export declare function hasBlockingNavigation(): boolean;
/**
 * Register an unsaved-changes guard for an editor. While `isDirty` is true, an
 * in-app navigation prompts for confirmation (via navigate()) and a browser
 * unload/refresh shows the native "leave site?" prompt. The registration and
 * the beforeunload listener are torn down on unmount.
 */
export declare function useNavigationBlocker(isDirty: boolean): void;
export declare function useAdminRouter(basePath?: string, serverPath?: string): {
    currentPath: string;
    search: string;
    navigate: (path: string) => void;
    matchRoute: (pattern: string) => RouteParams | null;
    buildHref: (path: string) => string;
};
export {};
//# sourceMappingURL=index.d.ts.map