import type { UAString, UInt16, UInt32 } from "node-opcua-basic-types";
import type { ExtensionObject } from "node-opcua-extension-object";
import type { Variant } from "node-opcua-variant";
import type { DTDataSetMeta } from "./dt_data_set_meta";
import type { DTDataSetReaderMessage } from "./dt_data_set_reader_message";
import type { DTDataSetReaderTransport } from "./dt_data_set_reader_transport";
import type { DTEndpointDescription } from "./dt_endpoint_description";
import type { DTKeyValuePair } from "./dt_key_value_pair";
import type { DTStructure } from "./dt_structure";
import type { DTSubscribedDataSet } from "./dt_subscribed_data_set";
import type { EnumMessageSecurityMode } from "./enum_message_security_mode";
/**
 * |           |                                                            |
 * |-----------|------------------------------------------------------------|
 * | namespace |http://opcfoundation.org/UA/                                |
 * | nodeClass |DataType                                                    |
 * | name      |DataSetReaderDataType                                       |
 * | isAbstract|false                                                       |
 */
export interface DTDataSetReader extends DTStructure {
    name: UAString;
    enabled: boolean;
    publisherId: Variant;
    writerGroupId: UInt16;
    dataSetWriterId: UInt16;
    dataSetMetaData: DTDataSetMeta;
    dataSetFieldContentMask: UInt32;
    messageReceiveTimeout: number;
    keyFrameCount: UInt32;
    headerLayoutUri: UAString;
    securityMode: EnumMessageSecurityMode;
    securityGroupId: UAString;
    securityKeyServices: DTEndpointDescription[];
    dataSetReaderProperties: DTKeyValuePair[];
    transportSettings?: DTDataSetReaderTransport;
    messageSettings?: DTDataSetReaderMessage;
    subscribedDataSet?: DTSubscribedDataSet;
}
export interface UDTDataSetReader extends ExtensionObject, DTDataSetReader {
}
