export declare function encodeUrlQuery(query: Record<string, unknown>): string;
export declare function decodeUrlQuery(query: string): Record<string, string>;
declare const urlLiteralSymbol: unique symbol;
export interface UrlLiteral {
    [urlLiteralSymbol]: string;
}
/**
 * Creates a value which is not url-encoded when provided to `asUrl` tagged-template
 * @param literal The literal value
 */
export declare function urlLiteral(literal: string): UrlLiteral;
/**
 * A tagged-template to create safe urls
 * @param strings Literal strings
 * @param values Values to url-encode, or url-literals
 * @returns A url with values url-encoded
 */
export declare function asUrl(strings: TemplateStringsArray, ...values: unknown[]): string;
export {};
