/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IFluidTelemetry } from "../index.js";
import { type IFluidContainerSystemEventName } from "./containerSystemEvents.js";
import { type IContainerTelemetry } from "./containerTelemetry.js";
/**
 * This class produces {@link IContainerTelemetry} from raw container system events {@link @fluidframework/fluid-static#IFluidContainerEvents}.
 * The class contains different helper methods for simplifying and standardizing logic for adding additional information necessary
 * to produce different {@link IContainerTelemetry}.
 */
export declare class ContainerEventTelemetryProducer {
    private readonly containerId;
    /**
     * Unique identifier for the instance of the container that this class is generating telemetry for.
     */
    private readonly containerInstanceId;
    constructor(containerId: string);
    produceFromSystemEvent(eventName: IFluidContainerSystemEventName, payload?: unknown): IContainerTelemetry | undefined;
    produceHeartbeatTelemetry: () => IFluidTelemetry;
    private readonly produceBaseContainerTelemetry;
    private readonly produceDiposedTelemetry;
}
//# sourceMappingURL=telemetryProducer.d.ts.map