import { type CallbackWithPromise } from '../../apis/callbacks.ts'; import { type Callback } from '../../apis/definitions.ts'; import { type Message, type MessageRecord } from '../../protocol/records.ts'; import { kInstance, kTransactionPrepare } from '../../symbols.ts'; import { type ClusterMetadata } from '../base/types.ts'; import { type Consumer } from '../consumer/consumer.ts'; import { type Producer } from './producer.ts'; import { type ProduceOptions, type ProduceResult, type SendOptions } from './types.ts'; export declare class Transaction { #private; id: string; [kInstance]: number; constructor(producer: Producer); get completed(): boolean; [kTransactionPrepare](transactionalId: string | undefined, options: ProduceOptions, callback: Callback>): void; send(options: SendOptions, callback: CallbackWithPromise): void; send(options: SendOptions): Promise; addPartitions(metadata: ClusterMetadata, messages: MessageRecord[], callback: CallbackWithPromise): void; addPartitions(metadata: ClusterMetadata, messages: MessageRecord[]): Promise; addConsumer(consumer: Consumer, callback: CallbackWithPromise): void; addConsumer(consumer: Consumer): Promise; addOffset(message: Message, callback: CallbackWithPromise): void; addOffset(message: Message): Promise; commit(callback: CallbackWithPromise): void; commit(): Promise; abort(callback: CallbackWithPromise): void; abort(): Promise; cancel(callback: CallbackWithPromise): void; cancel(): Promise; }