import { type Id } from '../identifier.utils.js'; import { type OptionEntry } from '../options.utils.js'; import { type CompressionAlgorithm as CompressionAlgorithmT } from './topic.utils.js'; /** * Parameters for the update topic command. */ export type UpdateTopic = { /** Stream identifier (ID or name) */ streamId: Id; /** Topic identifier (ID or name) */ topicId: Id; /** New topic name (1-255 bytes) */ name: string; /** Compression algorithm (None or Gzip) */ compressionAlgorithm?: CompressionAlgorithmT; /** * Message expiry time in microseconds. `0n` is not "unlimited": it omits the * key, so the topic keeps whatever expiry it currently has. Resetting a key * back to the server default is not expressible on an update. */ messageExpiry?: bigint; /** * Maximum topic size in bytes. `0n` is not "unlimited": it omits the key, so * the topic keeps whatever cap it currently has. Resetting a key back to the * server default is not expressible on an update. */ maxTopicSize?: bigint; /** * Option keys with no field of their own. The server refuses any key an update * may not change, by name; a key left out keeps its current value. */ options?: OptionEntry[]; }; /** * Update topic command definition. * Updates a topic's configuration. */ export declare const UPDATE_TOPIC: { code: number; serialize: ({ streamId, topicId, name, compressionAlgorithm, messageExpiry, maxTopicSize, options: extraOptions }: UpdateTopic) => Buffer; deserialize: (r: import("../../index.js").CommandResponse) => boolean; }; /** * Executable update topic command function. */ export declare const updateTopic: (getClient: import("../../index.js").ClientProvider) => (arg: UpdateTopic) => Promise; //# sourceMappingURL=update-topic.command.d.ts.map