/**
 * 本模块提供网络协议相关方法。
 * @packageDocumentation
 */
/**
 * 检查目标字符串是否以特定 URL 协议开头。
 * @param str 目标字符串。
 * @param protocols 特定协议（不含冒号和斜杠），不指定时表示允许任何协议。
 * @return 目标字符串是否以特定 URL 协议开头。
 * @example
 * ```javascript
 * startsWithProtocol('//abc.com'); // true
 * startsWithProtocol('https://abc.com'); // true
 * startsWithProtocol('file:///Users/'); // true
 * startsWithProtocol('abc.com'); // false
 * startsWithProtocol('http://abc.com', ['http', 'https']); // true
 * startsWithProtocol('ftp://abc.com', ['http', 'https']); // false
 * ```
 */
export declare function startsWithProtocol(str: string, protocols?: string[]): boolean;
/**
 * 替换目标字符串中的 URL 协议。如果字符串中不包含协议，则加上协议。
 * @param url 目标字符串。
 * @param protocol 协议（不含冒号和斜杠）。
 * @return 替换结果。
 * @example
 * ```javascript
 * changeProtocol('abc.com', 'https'); // 'https://abc.com'
 * changeProtocol('http://abc.com', 'https'); // 'https://abc.com'
 * ```
 */
export declare function changeProtocol(url: string, protocol: string): string;
/**
 * 移除指定 URL 中的协议头。
 * @param url 指定 URL。
 * @returns 处理后的字符串。
 * @example
 * ```javascript
 * removeProtocol('https://abc.com/abc.html'); // 'abc.com/abc.html'
 * removeProtocol('abc.com/abc.html'); // 'abc.com/abc.html'
 * ```
 */
export declare function removeProtocol(url: string): string;
/**
 * 标准化（如果当前页面协议为 http，则为 http，否则为 https）目标字符串中的 URL 协议。
 * @param url 目标字符串。
 * @returns 标准化结果。
 * ```javascript
 * // 当前页面协议为 http 时，结果是 'http://abc.com'
 * // 否则结果是 'https://abc.com'
 * normalizeProtocol('http://abc.com');
 * ```
 */
export declare function normalizeProtocol(url: string): string;
