/*---------------------------------------------------------------------------------------------
 *  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;
}
