/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { Disposable, IDisposable } from "../../../base/common/lifecycle.mjs";
import { INativeEnvironmentService } from "../../environment/common/environment.mjs";
import { ILogService } from "../../log/common/log.mjs";
import { IIPCObjectUrl, IProtocolMainService } from "./protocol.mjs";
import { IUserDataProfilesService } from "../../userDataProfile/common/userDataProfile.mjs";
export declare class ProtocolMainService extends Disposable implements IProtocolMainService {
    private readonly environmentService;
    private readonly logService;
    readonly _serviceBrand: undefined;
    private readonly validRoots;
    private readonly validExtensions;
    constructor(environmentService: INativeEnvironmentService, userDataProfilesService: IUserDataProfilesService, logService: ILogService);
    private handleProtocols;
    addValidFileRoot(root: string): IDisposable;
    private handleFileRequest;
    private handleResourceRequest;
    private requestToNormalizedFilePath;
    createIPCObjectUrl<T>(): IIPCObjectUrl<T>;
}
