/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { URI } from "../../../base/common/uri.mjs";
import { NativeParsedArgs } from "./argv.mjs";
import { ExtensionKind, IDebugParams, IExtensionHostDebugParams, INativeEnvironmentService } from "./environment.mjs";
import { IProductService } from "../../product/common/productService.mjs";
export declare const EXTENSION_IDENTIFIER_WITH_LOG_REGEX: RegExp;
export interface INativeEnvironmentPaths {
    /**
     * The user data directory to use for anything that should be
     * persisted except for the content that is meant for the `homeDir`.
     *
     * Only one instance of VSCode can use the same `userDataDir`.
     */
    userDataDir: string;
    /**
     * The user home directory mainly used for persisting extensions
     * and global configuration that should be shared across all
     * versions.
     */
    homeDir: string;
    /**
     * OS tmp dir.
     */
    tmpDir: string;
}
export declare abstract class AbstractNativeEnvironmentService implements INativeEnvironmentService {
    private readonly _args;
    private readonly paths;
    protected readonly productService: IProductService;
    readonly _serviceBrand: undefined;
    get appRoot(): string;
    get userHome(): URI;
    get userDataPath(): string;
    get appSettingsHome(): URI;
    get tmpDir(): URI;
    get cacheHome(): URI;
    get stateResource(): URI;
    get userRoamingDataHome(): URI;
    get userDataSyncHome(): URI;
    get logsPath(): string;
    get userDataSyncLogResource(): URI;
    get editSessionsLogResource(): URI;
    get sync(): 'on' | 'off' | undefined;
    get machineSettingsResource(): URI;
    get workspaceStorageHome(): URI;
    get localHistoryHome(): URI;
    get keyboardLayoutResource(): URI;
    get argvResource(): URI;
    get isExtensionDevelopment(): boolean;
    get untitledWorkspacesHome(): URI;
    get installSourcePath(): string;
    get builtinExtensionsPath(): string;
    get extensionsDownloadLocation(): URI;
    get extensionsPath(): string;
    get extensionDevelopmentLocationURI(): URI[] | undefined;
    get extensionDevelopmentKind(): ExtensionKind[] | undefined;
    get extensionTestsLocationURI(): URI | undefined;
    get disableExtensions(): boolean | string[];
    get debugExtensionHost(): IExtensionHostDebugParams;
    get debugRenderer(): boolean;
    get isBuilt(): boolean;
    get verbose(): boolean;
    get logLevel(): string | undefined;
    get extensionLogLevel(): [string, string][] | undefined;
    get serviceMachineIdResource(): URI;
    get crashReporterId(): string | undefined;
    get crashReporterDirectory(): string | undefined;
    get telemetryLogResource(): URI;
    get disableTelemetry(): boolean;
    get disableWorkspaceTrust(): boolean;
    get policyFile(): URI | undefined;
    editSessionId: string | undefined;
    get continueOn(): string | undefined;
    set continueOn(value: string | undefined);
    get args(): NativeParsedArgs;
    constructor(_args: NativeParsedArgs, paths: INativeEnvironmentPaths, productService: IProductService);
}
export declare function parseExtensionHostPort(args: NativeParsedArgs, isBuild: boolean): IExtensionHostDebugParams;
export declare function parsePtyHostPort(args: NativeParsedArgs, isBuild: boolean): IDebugParams;
