/*---------------------------------------------------------------------------------------------
 *  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 "../../../base/common/event.mjs";
import { IChannel, IServerChannel } from "../../../base/parts/ipc/common/ipc.mjs";
import { ITelemetryAppender } from "./telemetryUtils.mjs";
export interface ITelemetryLog {
    eventName: string;
    data?: any;
}
export declare class TelemetryAppenderChannel implements IServerChannel {
    private appenders;
    constructor(appenders: ITelemetryAppender[]);
    listen<T>(_: unknown, event: string): Event<T>;
    call(_: unknown, command: string, { eventName, data }: ITelemetryLog): Promise<any>;
}
export declare class TelemetryAppenderClient implements ITelemetryAppender {
    private channel;
    constructor(channel: IChannel);
    log(eventName: string, data?: any): any;
    flush(): Promise<void>;
}
