import type { UInt32 } from "node-opcua-basic-types";
import type { ExtensionObject } from "node-opcua-extension-object";
import type { DTDataSetMeta } from "./dt_data_set_meta";
import type { DTEndpointDescription } from "./dt_endpoint_description";
import type { DTKeyValuePair } from "./dt_key_value_pair";
import type { DTPubSubConfiguration } from "./dt_pub_sub_configuration";
import type { DTPubSubConnection } from "./dt_pub_sub_connection";
import type { DTPubSubKeyPushTarget } from "./dt_pub_sub_key_push_target";
import type { DTPublishedDataSet } from "./dt_published_data_set";
import type { DTSecurityGroup } from "./dt_security_group";
import type { DTStandaloneSubscribedDataSet } from "./dt_standalone_subscribed_data_set";
/**
 * |           |                                                            |
 * |-----------|------------------------------------------------------------|
 * | namespace |http://opcfoundation.org/UA/                                |
 * | nodeClass |DataType                                                    |
 * | name      |PubSubConfiguration2DataType                                |
 * | isAbstract|false                                                       |
 */
export interface DTPubSubConfiguration2 extends DTPubSubConfiguration {
    publishedDataSets: DTPublishedDataSet[];
    connections: DTPubSubConnection[];
    enabled: boolean;
    subscribedDataSets: DTStandaloneSubscribedDataSet[];
    dataSetClasses: DTDataSetMeta[];
    defaultSecurityKeyServices: DTEndpointDescription[];
    securityGroups: DTSecurityGroup[];
    pubSubKeyPushTargets: DTPubSubKeyPushTarget[];
    configurationVersion: UInt32;
    configurationProperties: DTKeyValuePair[];
}
export interface UDTPubSubConfiguration2 extends ExtensionObject, DTPubSubConfiguration2 {
}
