import type { QueryStringToObject } from '../typings/url'; export declare function parseKey(obj: Record, key: string, value: any): void; /** * Converts a query string to an object. * * @example `queryStringToObject('foo=1&bar=2&baz=3')` * @example `queryStringToObject('foo=&bar=2&baz=3')` * @example `queryStringToObject('foo[0]=1&foo[1]=2&baz=3')` * @template T - The type of the URL string. * @template U - The type of the object to return. * @param {T} url - The URL string to convert. * @returns {U} The object representation of the query string in `url`. */ export declare function queryStringToObject = QueryStringToObject>(url: T): U; /** * Converts an object to a query string. * * @param data - The object to convert. * @returns The query string representation of `data`. */ export declare function objectToQueryString>(data: T): string; /** * convert params routes to regular expressions * * @param path a params paths * @returns null or An array contains the RegExp that matches the params and the path for each params parameter */ export declare function convertParamsRouterToRegExp(path: string): (RegExp | string[])[] | null; /** * Returns the last portion of a path, similar to the Unix basename command. * Trims the query string if it exists. * Optionally, removes a suffix from the result. * * @param path - The path to get the basename from. * @param [suffix] - An optional suffix to remove from the basename. * @returns The basename of the path. */ export declare function basename(path: string, suffix?: string): string; /** * Convert a multi-dimensional array to a query string. * @param array The multi-dimensional array to convert. * @param field The field name to use in the query string. * @returns The generated query string. */ export declare function arrayToQueryString(array: Array, field: string): string;