/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import { TypedEventEmitter } from "@fluid-internal/client-utils"; import type { ISummarizerEvents } from "@fluidframework/container-runtime-definitions/internal"; import { type IPromiseTimer } from "@fluidframework/core-utils/internal"; import { type ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal"; import type { IRefreshSummaryAckOptions, ISubmitSummaryOptions, ISummarizeHeuristicData, SubmitSummaryResult } from "../summarizerTypes.js"; import type { IClientSummaryWatcher } from "../summaryCollection.js"; import { SummarizeResultBuilder } from "./summaryResultBuilder.js"; import type { ISummarizeResults } from "./summaryResultTypes.js"; /** * This class generates and tracks a summary attempt. */ export declare class SummaryGenerator extends TypedEventEmitter { private readonly pendingAckTimer; private readonly heuristicData; private readonly submitSummaryCallback; private readonly successfulSummaryCallback; private readonly refreshLatestSummaryCallback; private readonly summaryWatcher; private readonly logger; private readonly summarizeTimer; private activeTelemetryContext?; constructor(pendingAckTimer: IPromiseTimer, heuristicData: ISummarizeHeuristicData, submitSummaryCallback: (options: ISubmitSummaryOptions) => Promise, successfulSummaryCallback: () => void, refreshLatestSummaryCallback: (options: IRefreshSummaryAckOptions) => Promise, summaryWatcher: Pick, logger: ITelemetryLoggerExt); /** * Generates summary and listens for broadcast and ack/nack. * Returns true for ack, false for nack, and undefined for failure or timeout. * @param summaryOptions - options controlling how the summary is generated or submitted. * @param resultsBuilder - optional, result builder to use to build pass or fail result. */ summarize(summaryOptions: ISubmitSummaryOptions, resultsBuilder?: SummarizeResultBuilder): ISummarizeResults; private summarizeCore; private addSummaryDataToTelemetryProps; private summarizeTimerHandler; dispose(): void; } //# sourceMappingURL=summaryGenerator.d.ts.map