import type { UAString, UInt32 } from "node-opcua-basic-types";
import type { ExtensionObject } from "node-opcua-extension-object";
import type { NodeId } from "node-opcua-nodeid";
import type { DTApplicationDescription } from "./dt_application_description";
import type { DTServiceCounter } from "./dt_service_counter";
import type { DTStructure } from "./dt_structure";
/**
 * |           |                                                            |
 * |-----------|------------------------------------------------------------|
 * | namespace |http://opcfoundation.org/UA/                                |
 * | nodeClass |DataType                                                    |
 * | name      |SessionDiagnosticsDataType                                  |
 * | isAbstract|false                                                       |
 */
export interface DTSessionDiagnostics extends DTStructure {
    sessionId: NodeId;
    sessionName: UAString;
    clientDescription: DTApplicationDescription;
    serverUri: UAString;
    endpointUrl: UAString;
    localeIds: UAString[];
    actualSessionTimeout: number;
    maxResponseMessageSize: UInt32;
    clientConnectionTime: Date;
    clientLastContactTime: Date;
    currentSubscriptionsCount: UInt32;
    currentMonitoredItemsCount: UInt32;
    currentPublishRequestsInQueue: UInt32;
    totalRequestCount: DTServiceCounter;
    unauthorizedRequestCount: UInt32;
    readCount: DTServiceCounter;
    historyReadCount: DTServiceCounter;
    writeCount: DTServiceCounter;
    historyUpdateCount: DTServiceCounter;
    callCount: DTServiceCounter;
    createMonitoredItemsCount: DTServiceCounter;
    modifyMonitoredItemsCount: DTServiceCounter;
    setMonitoringModeCount: DTServiceCounter;
    setTriggeringCount: DTServiceCounter;
    deleteMonitoredItemsCount: DTServiceCounter;
    createSubscriptionCount: DTServiceCounter;
    modifySubscriptionCount: DTServiceCounter;
    setPublishingModeCount: DTServiceCounter;
    publishCount: DTServiceCounter;
    republishCount: DTServiceCounter;
    transferSubscriptionsCount: DTServiceCounter;
    deleteSubscriptionsCount: DTServiceCounter;
    addNodesCount: DTServiceCounter;
    addReferencesCount: DTServiceCounter;
    deleteNodesCount: DTServiceCounter;
    deleteReferencesCount: DTServiceCounter;
    browseCount: DTServiceCounter;
    browseNextCount: DTServiceCounter;
    translateBrowsePathsToNodeIdsCount: DTServiceCounter;
    queryFirstCount: DTServiceCounter;
    queryNextCount: DTServiceCounter;
    registerNodesCount: DTServiceCounter;
    unregisterNodesCount: DTServiceCounter;
}
export interface UDTSessionDiagnostics extends ExtensionObject, DTSessionDiagnostics {
}
