import { PixelMessage } from "./PixelMessage"; /** * Type representing a PixelMessage constructor. * @category Message */ export type MessageClass = new () => PixelMessage; /** * Serialization helper for Pixels devices messages. * @category Message */ export declare class MessageSerializer { readonly _messageTypeValues: Readonly>; readonly _messageClasses: readonly MessageClass[]; readonly _messageNamesLookup: readonly MessageType[]; readonly _reverseMsgClassesLookup: Readonly>; readonly _messageClassesLookup: Readonly>; constructor(messageTypeValues: readonly [MessageType, number][], messageClasses: readonly MessageClass[]); /** * Gets the type of the given message or message type value. * @param msgOrTypeOrClass A message or a message type value. * @returns The message type. * @category Message */ getMessageTypeValue(msgOrTypeOrClass: PixelMessage | MessageType | MessageClass): number; /** * Get the message name (as listed in {@link MessageTypeValues}). * @param msgOrTypeOrTypeValue A message or a message type value * or the numerical value of a message type. * @returns The message name. * @category Message */ getMessageType(msgOrTypeOrTypeValue: PixelMessage | MessageType | number): MessageType; /** * Creates a message object for the given message type. * @param type Type of message. * @returns A PixelMessage object with the given message type. * @category Message */ instantiateMessage(type: MessageType): PixelMessage; /** * Serialize the given Pixel message. * @param msgOrTypeOrTypeValue A message or a message type value * or the numerical value of a message type. * @returns The serialized data. * @category Message */ serialize(msgOrTypeOrTypeValue: PixelMessage | MessageType | number): ArrayBuffer; /** * Attempts to deserialize the data of the given buffer into a Pixel message. * @param dataView The data to deserialize the message from. * @returns The deserialized message or just its type value (for messages with no class). * @category Message */ deserializeMessage(dataView: DataView): PixelMessage | MessageType; private _getMessageNameFromValue; private _getMessageTypeValue; private _getMessageClass; private _checkGetMessageTypeValue; } //# sourceMappingURL=MessageSerializer.d.ts.map