import { type ReactNode } from "react";
import type { NavigationItem } from "../types/navigation";
export interface AppNavigationContextValue {
    /** Current active slug (e.g. "contacts/123") */
    currentSlug: string;
    /**
     * In-memory referrer. Cleared on popstate and page reload — breadcrumbs
     * after browser back/forward fall back to the structural parent.
     */
    previousSlug: string | null;
    /** Resolved navigation items (post role-filter, same as what the shell renders) */
    navItems: NavigationItem[];
    /** Base path for subpath deployments (e.g. "/portal"). Default: "/" */
    basePath: string;
    /** Navigate to a slug programmatically */
    navigate: (slug: string) => void;
    /** Build a full href for a slug (for use in <a> tags) */
    buildHref: (slug: string) => string;
}
export interface AppNavigationProviderProps {
    currentSlug: string;
    previousSlug: string | null;
    navItems: NavigationItem[];
    basePath: string;
    navigate: (slug: string) => void;
    children: ReactNode;
}
export declare function AppNavigationProvider({ currentSlug, previousSlug, navItems, basePath, navigate, children }: AppNavigationProviderProps): React.JSX.Element;
export declare function useAppNavigation(): AppNavigationContextValue;
//# sourceMappingURL=AppNavigationContext.d.ts.map