import { MsgHdrs, NatsConnection, PublishOptions, RequestOptions, Subscription, SubscriptionOptions } from '@nats-io/nats-core'; export type SubjectSubscriptionConfig = { subject: string; callback: (data: any) => void; opts?: SubscriptionOptions; onDownloadBytes?: (bytes: number) => void; }; export type RequestResult = { ok: true; } | { ok: false; error: Error; }; export declare function rejectUnavailableRequest(event: { onRequestResult?: (result: RequestResult) => void; }): void; export declare const subjectConsolidateState: ({ input, }: { input: { connection: NatsConnection | null; currentSubscriptions: Map; targetSubscriptions: Map; }; }) => import("./subscriptions").SubscriptionSyncResult; export declare const subjectRequest: ({ input, }: { input: { connection: NatsConnection | null; subject: string; payload: any; opts?: RequestOptions; callback: (data: any) => void; onRequestResult?: (result: RequestResult) => void; onDownloadBytes?: (bytes: number) => void; requestHeaders?: () => Promise; }; }) => void; export declare const subjectPublish: ({ input, }: { input: { connection: NatsConnection | null; subject: string; payload: any; options?: PublishOptions; onPublishResult?: (result: { ok: true; } | { ok: false; error: Error; }) => void; }; }) => void; //# sourceMappingURL=subject.d.ts.map