/**
 * Puppeteer doesn't allow importing ESM modules from `file://` URLs.
 * We don't want to create a dummy http server to serve ESM modules
 * (since that would cause issues with ports/firewalls), so this module
 * instead intercepts dummy `https://mermaid-cli-intercept.invalid` requests.
 */
export class Interceptor {
    /**
     * @param {URL | `file://${string}`} fileUrl - File URL
     * @param {Object} [options] - Optional options.
     * @param {number} [options.allowParentDirectoryLevel] - Number of parent directory levels to allow access to.
     */
    fileUrlToInterceptUrl(fileUrl: URL | `file://${string}`, { allowParentDirectoryLevel }?: {
        allowParentDirectoryLevel?: number | undefined;
    }): Promise<string>;
    /**
     *
     * @param {URL | string} interceptUrl
     * @throws {Error} If the URL is not a valid intercept URL
     */
    interceptUrlToFileUrl(interceptUrl: URL | string): Promise<URL>;
    /**
     * Intercepts requests to `https://mermaid-cli-intercept.invalid`
     * and serves the corresponding file content.
     *
     * @return {import('puppeteer').Handler<import('puppeteer').HTTPRequest>}
     */
    get interceptRequestHandler(): import("puppeteer").Handler<import("puppeteer").HTTPRequest>;
    #private;
}
//# sourceMappingURL=puppeteerIntercept.d.ts.map