export type S7DataType = 'bool' | 'byte' | 'int' | 'word' | 'dint' | 'dword' | 'lint' | 'ulint' | 'real' | 'string' | 'wstring'; export interface ReadPoint { address: string; dataType: S7DataType; stringLen?: number; } export interface WritePoint extends ReadPoint { value: any; } export interface ParsedAddr { dbNumber: number; addrType: 'DBX' | 'DBB' | 'DBW' | 'DBD'; byteOffset: number; bitOffset: number; } export declare function parseAddress(address: string): ParsedAddr; export declare function typeSize(dataType: S7DataType, stringLen?: number): number; export declare function decode(buf: Buffer, addr: ParsedAddr, dataType: S7DataType): any; export declare function encode(buf: Buffer, addr: ParsedAddr, dataType: S7DataType, value: any, stringLen?: number): void; export interface GroupedItem { addr: ParsedAddr; item: T; } export declare function groupByDb(items: T[]): Map[]>; export declare function byteRange(items: GroupedItem[], getSize: (item: T) => number): { start: number; size: number; }; export declare function normalize(p: T): T; //# sourceMappingURL=enhanced-utils.d.ts.map