2 import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring';
4 // Input to `url.format`
9 hostname?: string | null;
11 pathname?: string | null;
12 protocol?: string | null;
13 search?: string | null;
14 slashes?: boolean | null;
15 port?: string | number | null;
16 query?: string | null | ParsedUrlQueryInput;
19 // Output of `url.parse`
24 hostname: string | null;
27 pathname: string | null;
28 protocol: string | null;
29 search: string | null;
30 slashes: boolean | null;
32 query: string | null | ParsedUrlQuery;
35 interface UrlWithParsedQuery extends Url {
36 query: ParsedUrlQuery;
39 interface UrlWithStringQuery extends Url {
43 function parse(urlStr: string): UrlWithStringQuery;
44 function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery;
45 function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;
46 function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url;
48 function format(URL: URL, options?: URLFormatOptions): string;
49 function format(urlObject: UrlObject | string): string;
50 function resolve(from: string, to: string): string;
52 function domainToASCII(domain: string): string;
53 function domainToUnicode(domain: string): string;
56 * This function ensures the correct decodings of percent-encoded characters as
57 * well as ensuring a cross-platform valid absolute path string.
58 * @param url The file URL string or URL object to convert to a path.
60 function fileURLToPath(url: string | URL): string;
63 * This function ensures that path is resolved absolutely, and that the URL
64 * control characters are correctly encoded when converting into a File URL.
65 * @param url The path to convert to a File URL.
67 function pathToFileURL(url: string): URL;
69 interface URLFormatOptions {
77 constructor(input: string, base?: string | URL);
82 readonly origin: string;
88 readonly searchParams: URLSearchParams;
94 class URLSearchParams implements Iterable<[string, string]> {
95 constructor(init?: URLSearchParams | string | NodeJS.Dict<string | ReadonlyArray<string>> | Iterable<[string, string]> | ReadonlyArray<[string, string]>);
96 append(name: string, value: string): void;
97 delete(name: string): void;
98 entries(): IterableIterator<[string, string]>;
99 forEach(callback: (value: string, name: string, searchParams: this) => void): void;
100 get(name: string): string | null;
101 getAll(name: string): string[];
102 has(name: string): boolean;
103 keys(): IterableIterator<string>;
104 set(name: string, value: string): void;
107 values(): IterableIterator<string>;
108 [Symbol.iterator](): IterableIterator<[string, string]>;