import type { BuffaloZcl } from "../buffaloZcl"; import type { Command, StructuredSelector } from "./tstype"; export type FoundationCommandName = "read" | "readRsp" | "write" | "writeUndiv" | "writeRsp" | "writeNoRsp" | "configReport" | "configReportRsp" | "readReportConfig" | "readReportConfigRsp" | "report" | "defaultRsp" | "discover" | "discoverRsp" | "readStructured" | "writeStructured" | "writeStructuredRsp" | "discoverCommands" | "discoverCommandsRsp" | "discoverCommandsGen" | "discoverCommandsGenRsp" | "discoverExt" | "discoverExtRsp"; export interface FoundationDefinition | Record[] = Record | Record[]> extends Pick { parse: (buffalo: BuffaloZcl) => T; write: (buffalo: BuffaloZcl, payload: T) => void; } export declare const Foundation: { /** Read Attributes */ read: { name: string; ID: number; response: number; parse(buffalo: BuffaloZcl): { attrId: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Read Attributes Response */ readRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { attrId: number; status: number; dataType?: number; attrData?: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes */ write: { name: string; ID: number; response: number; parse(buffalo: BuffaloZcl): { attrId: number; dataType: number; attrData: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes Undivided */ writeUndiv: { name: string; ID: number; parse(buffalo: BuffaloZcl): { attrId: number; dataType: number; attrData: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes Response */ writeRsp: { name: string; ID: number; /** * Note that write attribute status records are not included for successfully written attributes, to save bandwidth. * In the case of successful writing of all attributes, only a single write attribute status record SHALL be included in the command, * with the status field set to SUCCESS and the attribute identifier field omitted. */ parse(buffalo: BuffaloZcl): { status: number; attrId?: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes No Response */ writeNoRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { attrId: number; dataType: number; attrData: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Configure Reporting */ configReport: { name: string; ID: number; response: number; parse(buffalo: BuffaloZcl): { direction: number; attrId: number; dataType?: number; /** * - If this value is set to 0x0000, then there is no minimum limit, * unless one is imposed by the specification of the cluster using this reporting mechanism or by the application. */ minRepIntval?: number; /** * - If this value is set to 0xffff, then the device SHALL not issue reports for the specified attribute, * and the configuration information for that attribute need not be maintained. * - If this value is set to 0x0000, and the minimum reporting interval field does not equal 0xffff * there SHALL be no periodic reporting, but change based reporting SHALL still be operational. * - If this value is set to 0x0000 and the Minimum Reporting Interval Field equals 0xffff, * then the device SHALL revert to its default reporting configuration. * The reportable change field, if present, SHALL be set to zero. */ maxRepIntval?: number; /** * - If the Maximum Reporting Interval Field is set to 0xffff (terminate reporting configuration), * or the Maximum Reporting Interval Field is set to 0x0000 and the Minimum Reporting Interval Field equals 0xffff, * indicating a (default reporting configuration) then if this field is present, * it SHALL be set to zero upon transmission and ignored upon reception. */ repChange?: number; /** * - If this value is set to 0x0000, reports of the attribute are not subject to timeout. */ timeout?: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Configure Reporting Response */ configReportRsp: { name: string; ID: number; /** * Note that attribute status records are not included for successfully configured attributes, to save bandwidth. * In the case of successful configuration of all attributes, only a single attribute status record SHALL be included in the command, * with the status field set to SUCCESS and the direction and attribute identifier fields omitted. */ parse(buffalo: BuffaloZcl): { status: number; direction?: number; attrId?: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Read Reporting Configuration */ readReportConfig: { name: string; ID: number; response: number; parse(buffalo: BuffaloZcl): { direction: number; attrId: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Read Reporting Configuration Response */ readReportConfigRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { status: number; direction: number; attrId: number; dataType?: number; minRepIntval?: number; maxRepIntval?: number; repChange?: number; timeout?: number; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Report attributes */ report: { name: string; ID: number; parse(buffalo: BuffaloZcl): { attrId: number; dataType: number; attrData: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Default Response */ defaultRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { cmdId: number; statusCode: number; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Attributes */ discover: { name: string; ID: number; parse(buffalo: BuffaloZcl): { startAttrId: number; maxAttrIds: number; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Attributes Response */ discoverRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { discComplete: number; attrInfos: { attrId: number; dataType: number; }[]; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Read Attributes Structured */ readStructured: { name: string; ID: number; parse(buffalo: BuffaloZcl): { attrId: number; selector: StructuredSelector; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes Structured */ writeStructured: { name: string; ID: number; response: number; parse(buffalo: BuffaloZcl): { attrId: number; selector: StructuredSelector; dataType: number; elementData: unknown; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Write Attributes Structured response */ writeStructuredRsp: { name: string; ID: number; /** * Note that write attribute status records are not included for successfully written attributes, to save bandwidth. * In the case of successful writing of all attributes, only a single write attribute status record SHALL be included in the command, * with the status field set to SUCCESS and the attribute identifier and selector fields omitted. */ parse(buffalo: BuffaloZcl): { status: number; attrId?: number; selector?: StructuredSelector; }[]; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Commands Received */ discoverCommands: { name: string; ID: number; parse(buffalo: BuffaloZcl): { startCmdId: number; maxCmdIds: number; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Commands Received Response */ discoverCommandsRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { discComplete: number; commandIds: number[]; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Commands Generated */ discoverCommandsGen: { name: string; ID: number; parse(buffalo: BuffaloZcl): { startCmdId: number; maxCmdIds: number; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Commands Generated Response */ discoverCommandsGenRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { discComplete: number; commandIds: number[]; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Attributes Extended */ discoverExt: { name: string; ID: number; parse(buffalo: BuffaloZcl): { startAttrId: number; maxAttrIds: number; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; /** Discover Attributes Extended Response */ discoverExtRsp: { name: string; ID: number; parse(buffalo: BuffaloZcl): { discComplete: number; attrInfos: { attrId: number; dataType: number; access: number; }[]; }; write(buffalo: BuffaloZcl, payload: Record | Record[]): void; }; }; //# sourceMappingURL=foundation.d.ts.map