/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { IMainProcessDiagnostics, IRemoteDiagnosticError, IRemoteDiagnosticInfo } from "../common/diagnostics.mjs";
import { IWindowsMainService } from "../../windows/electron-main/windows.mjs";
import { IWorkspacesManagementMainService } from "../../workspaces/electron-main/workspacesManagementMainService.mjs";
import { ILogService } from "../../log/common/log.mjs";
export declare const ID = "diagnosticsMainService";
export declare const IDiagnosticsMainService: import("../../instantiation/common/instantiation.mjs").ServiceIdentifier<IDiagnosticsMainService>;
export interface IRemoteDiagnosticOptions {
    includeProcesses?: boolean;
    includeWorkspaceMetadata?: boolean;
}
export interface IDiagnosticsMainService {
    readonly _serviceBrand: undefined;
    getRemoteDiagnostics(options: IRemoteDiagnosticOptions): Promise<(IRemoteDiagnosticInfo | IRemoteDiagnosticError)[]>;
    getMainDiagnostics(): Promise<IMainProcessDiagnostics>;
}
export declare class DiagnosticsMainService implements IDiagnosticsMainService {
    private readonly windowsMainService;
    private readonly workspacesManagementMainService;
    private readonly logService;
    readonly _serviceBrand: undefined;
    constructor(windowsMainService: IWindowsMainService, workspacesManagementMainService: IWorkspacesManagementMainService, logService: ILogService);
    getRemoteDiagnostics(options: IRemoteDiagnosticOptions): Promise<(IRemoteDiagnosticInfo | IRemoteDiagnosticError)[]>;
    getMainDiagnostics(): Promise<IMainProcessDiagnostics>;
    private codeWindowToInfo;
    private browserWindowToInfo;
    private getFolderURIs;
}
