import { FormDataConvertible, Method, RequestPayload, UrlMethodPair, VisitOptions } from './types';
export declare function hrefToUrl(href: string | URL): URL;
export declare const transformUrlAndData: (href: string | URL, data: RequestPayload, method: Method, forceFormData: VisitOptions['forceFormData'], queryStringArrayFormat: VisitOptions['queryStringArrayFormat']) => [URL, RequestPayload];
type MergeDataIntoQueryStringDataReturnType<T extends RequestPayload> = T extends Record<string, FormDataConvertible> ? Record<string, FormDataConvertible> : RequestPayload;
export declare function mergeDataIntoQueryString<T extends RequestPayload>(method: Method, href: URL | string, data: T, qsArrayFormat?: 'indices' | 'brackets'): [string, MergeDataIntoQueryStringDataReturnType<T>];
export declare function urlWithoutHash(url: URL | Location): URL;
export declare const setHashIfSameUrl: (originUrl: URL | Location, destinationUrl: URL | Location) => void;
export declare const isSameUrlWithoutHash: (url1: URL | Location, url2: URL | Location) => boolean;
export declare function isUrlMethodPair(href: unknown): href is UrlMethodPair;
export {};
