/**
 * Class {@link UriUtil} encapsulates the utility methods related to URIs.
 */
export default abstract class UriUtil {
    /**
     * Sanitizes the given URI by extracting the query parameters and re-assembling
     * the URI with the query parameters sorted alphabetically by key.
     * @param {string} uri - The URI to be sanitized
     * @returns {string} - The sanitized URI
     */
    static sanitizeUri(uri: string): string;
    /**
     * Generates a URI with the given query string appended to the end.
     * If the given URI does not already contain a query string, a new query string is added.
     * Otherwise, the given query string is appended to the existing query string.
     * @param {string} uri - The base URI
     * @param {string} qs - The query string to append
     * @returns {string} - The URI with the query string appended
     */
    static generateUri(uri: string, qs: string): string;
    /**
     * Given a URI, returns the query parameters as a JSON object, or null if no query parameters are present
     * @param {string} uri - The URI with query parameters
     * @returns {Object} - The query parameters as a JSON object, or null if no query parameters are present
     */
    static uriParams(uri: string): any;
    /**
     * Removes the query string from the given URI path.
     *
     * @param {any} path - The URI path from which the query string should be removed.
     * @returns {string} - The path without the query string, or the original path if no query string is present.
     */
    static removeQueryString(path: any): any;
    /**
     * Returns true if the given URI has a base URL, false otherwise.
     *
     * A URI is considered to have a base URL if it starts with 'http://' or 'https://'.
     *
     * @param {string} uri - The URI to check for a base URL.
     * @returns {boolean} - True if the URI has a base URL, false otherwise.
     */
    static hasBaseUrl(uri: string): boolean;
}
