import type { UAString } from "node-opcua-basic-types";
import type { ExtensionObject } from "node-opcua-extension-object";
import type { NodeId } from "node-opcua-nodeid";
import type { DTArgument } from "./dt_argument";
import type { DTStatusResult } from "./dt_status_result";
import type { DTStructure } from "./dt_structure";
/**
 * |           |                                                            |
 * |-----------|------------------------------------------------------------|
 * | namespace |http://opcfoundation.org/UA/                                |
 * | nodeClass |DataType                                                    |
 * | name      |ProgramDiagnosticDataType                                   |
 * | isAbstract|false                                                       |
 */
export interface DTProgramDiagnostic extends DTStructure {
    createSessionId: NodeId;
    createClientName: UAString;
    invocationCreationTime: Date;
    lastTransitionTime: Date;
    lastMethodCall: UAString;
    lastMethodSessionId: NodeId;
    lastMethodInputArguments: DTArgument[];
    lastMethodOutputArguments: DTArgument[];
    lastMethodCallTime: Date;
    lastMethodReturnStatus: DTStatusResult;
}
export interface UDTProgramDiagnostic extends ExtensionObject, DTProgramDiagnostic {
}
