/**
 * Represents an abstraction over the native `window.location` object,
 * respecting the current routing strategy (hash vs. path).
 *
 * @public
 */
export interface IRouterLocation {
    /**
     * Returns the normalized pathname based on the routing strategy.
     */
    readonly pathname: string;
    /**
     * Returns the normalized search string (query params).
     */
    readonly search: string;
    /**
     * Returns the full `href` (relative or absolute) based on routing strategy.
     */
    readonly href: string;
    /**
     * Returns the raw `hash` from `window.location`, if applicable.
     */
    readonly hash: string;
    /**
     * Forces a navigation to the specified path.
     * Updates browser history depending on routing mode.
     *
     * @param href - The target path or full href to navigate to.
     */
    navigate(href: string): void;
    /**
     * Returns the value of a query parameter from the current route URL.
     * In hash mode, reads from the hash query string (e.g. `#/path?key=value`).
     *
     * @param name - The parameter name.
     * @returns The parameter value, or `null` if not present.
     */
    getSearchParam(name: string): string | null;
    /**
     * Sets a query parameter on the current route URL without triggering navigation.
     * In hash mode, writes to the hash query string.
     *
     * @param name  - The parameter name.
     * @param value - The parameter value.
     */
    setSearchParam(name: string, value: string): void;
    /**
     * Removes a query parameter from the current route URL without triggering navigation.
     *
     * @param name - The parameter name to remove.
     */
    deleteSearchParam(name: string): void;
}
//# sourceMappingURL=IRouterLocation.d.ts.map