import type { IDiagnosticContextInfo } from './extraData/IDiagnosticContextInfo'; /** * Diagnostics configuration * * @internal */ export interface IDiagnosticsSettings { /** * Flag to enable logging of Diagnostics to the console */ enableConsoleLog: boolean; /** * The current site id (GUID) * Example: `"{440067a7-8e96-4446-8e0e-fafef7a9e9d9}"` */ siteId: string; /** * The current web id (GUID) * Example: `"{b29e6452-fe31-4967-872b-ea5d23dbfe07}"` */ webId: string; /** * The current list id (GUID) * Example: `"{b29e6452-fe31-4967-872b-ea5d23dbfe07}"` */ listId?: string; /** * The current list item unique id (GUID) * Example: `"{b29e6452-fe31-4967-872b-ea5d23dbfe07}"` */ listItemUniqueId?: string; /** * The current correlationId (GUID) * Example: `"{b29e6452-fe31-4967-872b-ea5d23dbfe07}"` */ correlationId: string; /** * Page context info */ contextInfo?: IDiagnosticContextInfo; /** * Extra diagnostic info */ extraDiagnosticInfo?: IExtraDiagnosticInfo; } /** * Extra diagnostic information not related to core configuration * * @internal */ export interface IExtraDiagnosticInfo { /** * The id of the authoring session if user is currently editing the page. * Session id is same across all users collaborating on the same page. * Example: `"{b29e6452-fe31-4967-872b-ea5d23dbfe07}"` */ authoringSessionId?: string; /** * Only valid in authoring session, the id of the last op that has been received by the current client. * This id is unique and is incremented globally across the authoring session so this can be used to align * the timing of multiple users rather than relying on browser time from different devices. * Example: `5` */ authoringOpSequenceId?: number; /** * Only valid in authoring session. This represents the number of concurrent clients in an authoring session. * It will be updated as and when users join and leave a page edit session. */ authoringSessionClientCount?: number; /** * Indicating the current authoring phase of the page. */ hasAuthoringStarted?: boolean; /** * Indicating if DDS (Distributed Data Structure) is used in authoring. */ isAuthoringUsingDDS?: boolean; } /** * Options for clearing telemetry settings including top level and nested properties * * @internal */ export interface IClearSettingsOptions { diagnosticSettings?: (keyof IDiagnosticsSettings)[]; extraDiagnosticInfo?: (keyof IExtraDiagnosticInfo)[]; } export default IDiagnosticsSettings; //# sourceMappingURL=IDiagnosticsSettings.d.ts.map