import { ComputeBaseUriOptions } from "../types.js";
/**
 * Computes the base URI value for the API/endpoint/operation.
 *
 * @param url The url to check for protocol information.
 * @param options The computation options
 * @returns The base uri value with a protocol,
 */
export declare function setProtocol(url?: string, options?: ComputeBaseUriOptions): string;
/**
 * Computes the base URI value for the API/endpoint/operation.
 *
 * @param options The computation options
 * @returns Base uri value. Can be empty string.
 */
export declare function computeApiBaseUri(options?: ComputeBaseUriOptions): string;
/**
 * Computes the base URI value for the API/endpoint/operation.
 *
 * @param options The computation options
 * @returns Base uri value. Can be empty string.
 */
export declare function computeEndpointUri(options?: ComputeBaseUriOptions): string;
/**
 * @param str A key or value to encode as x-www-form-urlencoded.
 * @param replacePlus When set it replaces `%20` with `+`.
 */
export declare function wwwFormUrlEncode(str: string, replacePlus: boolean): string;
/**
 * @param url The current URL
 * @param variables The path variables to apply.
 * @param encode Whether to encode parameters.
 */
export declare function applyUrlVariables(url: string, variables: Record<string, unknown>, encode: boolean): string;
/**
 * @param url The current URL
 * @param params The query parameters to apply.
 * @param encode Whether to encode parameters.
 */
export declare function applyUrlParameters(url: string, params: Record<string, unknown>, encode: boolean): string;
/**
 * Applies query parameter values to an object.
 * Repeated parameters will have array value instead of string value.
 *
 * @param param Query parameter value as string. Eg `name=value`
 * @param obj Target for values
 */
export declare function applyQueryParamStringToObject(param: string, obj: Record<string, string | string[]>): void;
//# sourceMappingURL=UrlUtils.d.ts.map