import type { PublicNavigationState, NavigateOptions } from "../types.js";
/**
 * Navigation methods returned by useNavigation
 */
export interface NavigationMethods {
    navigate: (url: string, options?: NavigateOptions) => Promise<void>;
    refresh: () => Promise<void>;
}
/**
 * Full value returned when no selector is provided
 */
export type NavigationValue = PublicNavigationState & NavigationMethods;
/**
 * Hook to access navigation state with optional selector for performance
 *
 * Uses the event controller for reactive state management.
 * State is derived from source of truth (currentNavigation, inflightActions).
 *
 * @example
 * ```tsx
 * const state = useNavigation(nav => nav.state);
 * const isLoading = useNavigation(nav => nav.state === 'loading');
 * ```
 */
export declare function useNavigation(): NavigationValue;
export declare function useNavigation<T>(selector: (state: PublicNavigationState) => T): T;
//# sourceMappingURL=use-navigation.d.ts.map