/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Event } from '@sussudio/base/common/event.mjs';
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { IServerChannel } from '@sussudio/base/parts/ipc/common/ipc.mjs';
import { ITelemetryAppender } from './telemetryUtils.mjs';
import { IServerTelemetryService } from './serverTelemetryService.mjs';
export declare class ServerTelemetryChannel extends Disposable implements IServerChannel {
	private readonly telemetryService;
	private readonly telemetryAppender;
	constructor(telemetryService: IServerTelemetryService, telemetryAppender: ITelemetryAppender | null);
	call(_: any, command: string, arg?: any): Promise<any>;
	listen(_: any, event: string, arg: any): Event<any>;
	/**
	 * Disposing the channel also disables the telemetryService as there is
	 * no longer a way to control it
	 */
	dispose(): void;
}
