import type { JsMsg } from "./jsmsg"; import type { ConsumerConfig, ConsumerInfo } from "./jsapi_types"; import type { ConsumerNotification } from "./types"; import type { ConsumerAPI, ConsumerCallbackFn, ConsumerMessages, PushConsumer, PushConsumerOptions } from "./types"; import type { ConsumerAPIImpl } from "./jsmconsumer_api"; import { IdleHeartbeatMonitor, QueuedIteratorImpl } from "@nats-io/nats-core/internal"; import type { CallbackFn, Delay, QueuedIterator, Status, Subscription } from "@nats-io/nats-core/internal"; export declare class PushConsumerMessagesImpl extends QueuedIteratorImpl implements ConsumerMessages { consumer: PushConsumerImpl; sub: Subscription; monitor: IdleHeartbeatMonitor | null; listeners: QueuedIterator[]; abortOnMissingResource: boolean; callback: ConsumerCallbackFn | null; ordered: boolean; cursor: { stream_seq: number; deliver_seq: number; }; namePrefix: string | null; deliverPrefix: string | null; serial: number; createFails: number; statusIterator: QueuedIteratorImpl; cancelables: Delay[]; constructor(c: PushConsumerImpl, userOptions?: Partial, internalOptions?: Partial); reset(): void; getConsumerOpts(): ConsumerConfig; closed(): Promise; close(): Promise; stop(err?: Error): void; _push(r: JsMsg | CallbackFn): void; status(): AsyncIterable; start(): void; notify(n: ConsumerNotification): void; } export type PushConsumerInternalOptions = PushConsumerOptions & { bound: boolean; ordered: boolean; name_prefix: string; deliver_prefix: string; }; export declare class PushConsumerImpl implements PushConsumer { api: ConsumerAPIImpl; _info: ConsumerInfo; stream: string; name: string; bound: boolean; ordered: boolean; started: boolean; serial: number; opts: Partial; constructor(api: ConsumerAPI, info: ConsumerInfo, opts?: Partial); consume(userOptions?: Partial): Promise; delete(): Promise; info(cached?: boolean): Promise; isPullConsumer(): boolean; isPushConsumer(): boolean; }