import { type Id } from '../identifier.utils.js'; /** Stream, topic, and consumer-group identifiers. */ export type TargetGroup = { streamId: Id; topicId: Id; groupId: Id; }; /** * Consumer group information. */ export type ConsumerGroup = { /** Consumer group ID */ id: number; /** Consumer group name */ name: string; /** Number of members in the group */ membersCount: number; /** Number of partitions assigned to the group */ partitionsCount: number; }; /** * Result of deserializing a consumer group. */ type ConsumerGroupDeserialized = { /** Number of bytes consumed */ bytesRead: number; /** Deserialized consumer group data */ data: ConsumerGroup; }; /** * Serializes stream, topic, and group identifiers for targeting a consumer group. * * @param streamId - Stream identifier (ID or name) * @param topicId - Topic identifier (ID or name) * @param groupId - Consumer group identifier (ID or name) * @returns Buffer containing serialized identifiers */ export declare const serializeTargetGroup: (streamId: Id, topicId: Id, groupId: Id) => Buffer; /** * Deserializes a consumer group from a buffer. * * @param r - Buffer containing serialized consumer group data * @param pos - Starting position in the buffer * @returns Object with bytes read and deserialized consumer group data */ export declare const deserializeConsumerGroup: (r: Buffer, pos?: number) => ConsumerGroupDeserialized; /** * Deserializes multiple consumer groups from a buffer. * * @param r - Buffer containing serialized consumer groups data * @param pos - Starting position in the buffer * @returns Array of deserialized consumer groups */ export declare const deserializeConsumerGroups: (r: Buffer, pos?: number) => ConsumerGroup[]; export {}; //# sourceMappingURL=group.utils.d.ts.map