import { Collection, Document, InsertOneOptions, OptionalUnlessRequiredId } from 'mongodb'; export interface PublisherOptions { insertOneOptions?: InsertOneOptions; } export declare class Publisher { protected collection: Collection; protected insertOneOptions: InsertOneOptions; protected closed: boolean; constructor(collection: Collection, options?: PublisherOptions); /** * Publishes the given message, returning the inserted message ID. * Ignores message duplicates, returning null in that case. * Can be used inside transactions (same options as MongoDB `insertOne`). */ publish(message: OptionalUnlessRequiredId, options?: InsertOneOptions): Promise | null>; close(): Promise; }