/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ClusterId, EndpointNumber, EventId, EventNumber, NodeId, Priority, Status, TlvEventData, TlvEventReport, TlvEventStatus, TlvStream, TypeFromSchema } from "#types";
export type DecodedEventData<T> = {
    eventNumber: EventNumber;
    priority: Priority;
    epochTimestamp?: number | bigint;
    systemTimestamp?: number | bigint;
    deltaEpochTimestamp?: number | bigint;
    deltaSystemTimestamp?: number | bigint;
    data?: T;
};
export type DecodedEventReportEntry = {
    path: {
        nodeId?: NodeId;
        endpointId: EndpointNumber;
        clusterId: ClusterId;
        eventId: EventId;
        eventName: string;
    };
};
/** Represents a fully qualified and decoded attribute value from a received DataReport */
export type DecodedEventReportValue<T> = DecodedEventReportEntry & {
    events: DecodedEventData<T>[];
};
/** Represents a fully qualified and decoded attribute status from a received DataReport */
export type DecodedEventReportStatus = DecodedEventReportEntry & {
    status?: Status;
    clusterStatus?: number;
};
export declare function normalizeAndDecodeReadEventReport(data: TypeFromSchema<typeof TlvEventReport>[]): {
    eventData: DecodedEventReportValue<any>[];
    eventStatus: DecodedEventReportStatus[];
};
export declare function normalizeEventData(data: TypeFromSchema<typeof TlvEventData>[]): TypeFromSchema<typeof TlvEventData>[][];
export declare function normalizeAndDecodeEventData(data: TypeFromSchema<typeof TlvEventData>[]): DecodedEventReportValue<any>[];
export declare function normalizeEventStatus(data: TypeFromSchema<typeof TlvEventStatus>[]): DecodedEventReportStatus[];
export declare function decodeUnknownEventValue(data: TlvStream): any;
//# sourceMappingURL=EventDataDecoder.d.ts.map