/// import { Template } from "../structure"; export interface TagType { code: number; sintPos?: number | null; typeName: string | null; structure: boolean; arrayDims: number; reserved: boolean; } export interface ExtendedTagType extends TagType { structureObj: { [key: string]: ExtendedTagType; }; } export interface TagItem { id: number; name: string; program?: string | null; instance_id?: string; type: TagType; } export declare class TagList { tags: TagItem[]; templates: { [key: string]: Template | null; }; constructor(); /** * Generates the CIP message to request a list of tags * * @param {number} [instanceID = 0] - instance id to start getting a list of object tags * @param {string} program - (optional) name of the program to search * @returns {buffer} */ _generateListMessageRequest(instanceID?: number, program?: string | null): Buffer; /** * Parse CIP response into tag data * * @param {buffer} data - Buffer data to parse * @param {string} program - (optional) name of the program tag is from (optional) * @returns {number} Last instance id parsed */ _parseAttributeListResponse(data: Buffer, program?: string | null): number | null; _getTagTypeNames(): void; _parseTagType(tagType: any): { code: number; sintPos: number | null; typeName: null; structure: boolean; arrayDims: number; reserved: boolean; }; /** * Parse CIP response into tag data * * @param {node-ethernet-ip.Controller} PLC - Controller to get tags from * @param {string} [program = null] - (optional) name of the program tag is from (optional) * @returns {Promise} */ getControllerTags(PLC: any, program?: string | null): Promise; /** * Gets Controller Program Names * * @returns {array[string]} */ get programs(): string[]; getTag(tagName: any, program?: null): TagItem | undefined; getTemplateByTag(tagName: any, program?: string | null): Template | null; _getAllTemplates(PLC: any): Promise; }