import { BaseApiClient } from "./jsbaseclient_api"; import { ConsumerAPI } from "./jsmconsumer_api"; import { JsMsg } from "./jsmsg"; import { TypedSubscription, TypedSubscriptionOptions } from "../nats-base-client/typedsub"; import { IngestionFilterFn } from "../nats-base-client/queued_iterator"; import { IdleHeartbeatMonitor } from "../nats-base-client/idleheartbeat_monitor"; import { StreamAPIImpl } from "./jsmstream_api"; import { ConsumerInfoable, ConsumerOpts, ConsumerOptsBuilder, Consumers, Destroyable, JetStreamClient, JetStreamManager, JetStreamPublishOptions, JetStreamPullSubscription, JetStreamSubscription, JetStreamSubscriptionInfo, JetStreamSubscriptionInfoable, JetStreamSubscriptionOptions, PubAck, Streams, Views } from "./types"; import { JetStreamOptions, Msg, NatsConnection, Payload, QueuedIterator } from "../nats-base-client/core"; import { ConsumerInfo, PullOptions } from "./jsapi_types"; export declare enum PubHeaders { MsgIdHdr = "Nats-Msg-Id", ExpectedStreamHdr = "Nats-Expected-Stream", ExpectedLastSeqHdr = "Nats-Expected-Last-Sequence", ExpectedLastMsgIdHdr = "Nats-Expected-Last-Msg-Id", ExpectedLastSubjectSequenceHdr = "Nats-Expected-Last-Subject-Sequence" } export declare class JetStreamClientImpl extends BaseApiClient implements JetStreamClient { consumers: Consumers; streams: Streams; consumerAPI: ConsumerAPI; streamAPI: StreamAPIImpl; constructor(nc: NatsConnection, opts?: JetStreamOptions); jetstreamManager(checkAPI?: boolean): Promise; get apiPrefix(): string; get views(): Views; publish(subj: string, data?: Payload, opts?: Partial): Promise; pull(stream: string, durable: string, expires?: number): Promise; fetch(stream: string, durable: string, opts?: Partial): QueuedIterator; pullSubscribe(subject: string, opts?: ConsumerOptsBuilder | Partial): Promise; subscribe(subject: string, opts?: ConsumerOptsBuilder | Partial): Promise; _processOptions(subject: string, opts?: ConsumerOptsBuilder | Partial): Promise; _buildTypedSubscriptionOpts(jsi: JetStreamSubscriptionInfo): TypedSubscriptionOptions; _maybeCreateConsumer(jsi: JetStreamSubscriptionInfo): Promise; static ingestionFn(ordered: boolean): IngestionFilterFn; } export declare class JetStreamSubscriptionImpl extends TypedSubscription implements JetStreamSubscriptionInfoable, Destroyable, ConsumerInfoable { js: BaseApiClient; monitor: IdleHeartbeatMonitor | null; constructor(js: BaseApiClient, subject: string, opts: JetStreamSubscriptionOptions); set info(info: JetStreamSubscriptionInfo | null); get info(): JetStreamSubscriptionInfo | null; _resetOrderedConsumer(sseq: number): void; _maybeSetupHbMonitoring(): void; _setupHbMonitoring(millis: number, cancelAfter?: number): void; _checkHbOrderConsumer(msg: Msg): boolean; _checkOrderedConsumer(jm: JsMsg): boolean; destroy(): Promise; consumerInfo(): Promise; }