/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { SubmitSummaryFailureData, SubmitSummaryResult, SummarizeResultPart, } from "../summarizerTypes.js"; import type { ISummaryAckMessage, ISummaryNackMessage, ISummaryOpMessage, } from "../summaryCollection.js"; /** * @legacy @beta */ export interface IBroadcastSummaryResult { readonly summarizeOp: ISummaryOpMessage; readonly broadcastDuration: number; } /** * @legacy @beta */ export interface IAckSummaryResult { readonly summaryAckOp: ISummaryAckMessage; readonly ackNackDuration: number; } /** * @legacy @beta */ export interface INackSummaryResult { readonly summaryNackOp: ISummaryNackMessage; readonly ackNackDuration: number; } /** * @legacy @beta */ export interface ISummarizeResults { /** * Resolves when we generate, upload, and submit the summary. */ readonly summarySubmitted: Promise< SummarizeResultPart >; /** * Resolves when we observe our summarize op broadcast. */ readonly summaryOpBroadcasted: Promise>; /** * Resolves when we receive a summaryAck or summaryNack. */ readonly receivedSummaryAckOrNack: Promise< SummarizeResultPart >; } /** * @legacy @beta */ export type EnqueueSummarizeResult = | (ISummarizeResults & { /** * Indicates that another summarize attempt is not already enqueued, * and this attempt has been enqueued. */ readonly alreadyEnqueued?: undefined; }) | (ISummarizeResults & { /** * Indicates that another summarize attempt was already enqueued. */ readonly alreadyEnqueued: true; /** * Indicates that the other enqueued summarize attempt was abandoned, * and this attempt has been enqueued enqueued. */ readonly overridden: true; }) | { /** * Indicates that another summarize attempt was already enqueued. */ readonly alreadyEnqueued: true; /** * Indicates that the other enqueued summarize attempt remains enqueued, * and this attempt has not been enqueued. */ readonly overridden?: undefined; };