import { BaseApiClientImpl } from "./jsbaseclient_api"; import { StreamAPIImpl } from "./jsmstream_api"; import type { Advisory, Batch, BatchAck, BatchMessageOptions, BatchMessageOptionsWithReply, ConsumerAPI, Consumers, DirectStreamAPI, JetStreamClient, JetStreamManager, JetStreamManagerOptions, JetStreamOptions, JetStreamPublishOptions, PubAck, StreamAPI, Streams } from "./types"; import type { Msg, NatsConnection, Payload, RequestOptions } from "@nats-io/nats-core/internal"; import type { JetStreamAccountStats } from "./jsapi_types"; export declare function toJetStreamClient(nc: NatsConnection | JetStreamClient): JetStreamClient; /** * Returns a {@link JetStreamClient} supported by the specified NatsConnection * @param nc * @param opts */ export declare function jetstream(nc: NatsConnection, opts?: JetStreamManagerOptions): JetStreamClient; /** * Returns a {@link JetStreamManager} supported by the specified NatsConnection * @param nc * @param opts */ export declare function jetstreamManager(nc: NatsConnection, opts?: JetStreamOptions | JetStreamManagerOptions): Promise; export declare class JetStreamManagerImpl extends BaseApiClientImpl implements JetStreamManager { streams: StreamAPI; consumers: ConsumerAPI; direct: DirectStreamAPI; constructor(nc: NatsConnection, opts?: JetStreamOptions); getAccountInfo(): Promise; jetstream(): JetStreamClient; advisories(): AsyncIterable; } export declare class JetStreamClientImpl extends BaseApiClientImpl implements JetStreamClient { consumers: Consumers; streams: Streams; consumerAPI: ConsumerAPI; streamAPI: StreamAPIImpl; constructor(nc: NatsConnection, opts?: JetStreamOptions); jetstreamManager(checkAPI?: boolean): Promise; get apiPrefix(): string; startBatch(subj: string, payload?: Payload, opts?: Partial): Promise; _publish(subj: string, data?: Payload, opts?: Partial): Promise; publish(subj: string, data?: Payload, opts?: Partial): Promise; } export declare class BatchPublisherImpl implements Batch { nc: NatsConnection; js: JetStreamClientImpl; readonly id: string; count: number; done: boolean; constructor(js: JetStreamClient); first(subj: string, payload?: Payload, opts?: Partial): Promise; add(subj: string, payload?: Payload, opts?: BatchMessageOptions): void; add(subj: string, payload?: Payload, opts?: BatchMessageOptionsWithReply): Promise; commit(subj: string, payload?: Payload, opts?: Partial): Promise; }