///
type templateType = {
code: number;
string: string;
structure: boolean;
reserved: boolean;
arrayDims: number;
};
type templateMember = {
name: string;
info: number;
type: templateType;
offset: number;
};
type templateAttributes = {
id: number;
ObjDefinitionSize: number;
StructureSize: number;
MemberCount: number;
StructureHandle: number;
};
declare class Template {
_attributes: templateAttributes;
_members: templateMember[];
_name: string;
id: number;
/**
* Template Class reads and parses information template information that is used for parsing STRUCT datatypes
*/
constructor();
/**
* Build CIP message to get template attributes
*
* @param templateID - Id number of template
* @returns CIP message to get template attributes
*/
_buildGetTemplateAttributesCIP(templateID: number): Buffer;
/**
* Parse message response and store template attributes
*
* @param data - message response
*/
_parseReadTemplateAttributes(data: Buffer): void;
/**
* Build CIP message to get template members
*
* @param offset
* @param reqSize
* @returns CIP message to get template members
*/
_buildGetTemplateCIP(offset: number, reqSize: number): Buffer;
/**
* Parse Template message data to create and store template member info
*
* @param data
*/
_parseReadTemplate(data: Buffer): void;
/**
* Retrives Template attributes from PLC
*
* @param PLC - Controller Class Object
* @param templateID - template ID number
* @returns Promise resolved after retrival of template attributes
*/
_getTemplateAttributes(PLC: any, templateID: number): Promise;
/**
* Retrives the Template from PLC based on attribute data
*
* @param PLC - Controller Class object
* @returns
*/
_getTemplate(PLC: any): Promise;
/**
* Retrives complete template from PLC
*
* @param PLC - Controller Class object
* @param templateID - Template ID
* @returns Promise resolved upon retrival of template
*/
getTemplate(PLC: any, templateID: number): Promise;
}
export default Template;