import * as React from 'react';

type LinkType = "internal" | "external" | "mailto" | "tel" | "unknown" | "none";
interface UseNavigationArgs {
    href?: string;
    onClick?: React.MouseEventHandler<HTMLElement>;
}
interface UseNavigationReturn {
    linkType: LinkType;
    normalizedHref: string | undefined;
    target: "_blank" | "_self" | undefined;
    rel: string | undefined;
    isExternal: boolean;
    isInternal: boolean;
    shouldUseRouter: boolean;
    handleClick: React.MouseEventHandler<HTMLElement>;
}
/**
 * Hook for handling navigation with automatic link type detection,
 * URL normalization, and proper attributes for SEO and accessibility.
 *
 * Features:
 * - Detects link types: internal, external, mailto, tel
 * - Normalizes phone numbers (various formats to tel:)
 * - Normalizes email addresses to mailto:
 * - Converts full URLs matching current origin to relative paths
 * - Determines proper target and rel attributes
 * - Handles React Router-style internal navigation
 *
 * @example
 * ```tsx
 * const nav = useNavigation({ href: "/about" });
 * // nav.linkType === "internal"
 * // nav.normalizedHref === "/about"
 * // nav.target === "_self"
 *
 * const nav2 = useNavigation({ href: "(432) 238-6131" });
 * // nav2.linkType === "tel"
 * // nav2.normalizedHref === "tel:+14322386131"
 *
 * const nav3 = useNavigation({ href: "https://google.com" });
 * // nav3.linkType === "external"
 * // nav3.target === "_blank"
 * // nav3.rel === "noopener noreferrer"
 * ```
 */
declare function useNavigation({ href, onClick }?: UseNavigationArgs): UseNavigationReturn;

export { type LinkType, type UseNavigationArgs, type UseNavigationReturn, useNavigation };
