export declare const natsPayloadTypeJson = "json"; export declare const natsPayloadTypeBinary = "binary"; export interface ILogger { debug(msg: string): void; info(msg: string): void; warn(msg: string): void; error(msg: string): void; } export interface INatsService { connect(): Promise; disconnect(): Promise; getSubscribedSubjects(): string[]; isConnected(): boolean; publish(subject: string, payload: any, reply?: string): Promise; publishCount(): number; request(subject: string, timeout: number, data?: any): Promise; subscribe(subject: string, callback: (msg: any, err?: any) => void): Promise; unsubscribe(subject: string): any; flush(): Promise; } export interface INatsStreamingService { attemptNack(conn: any, msg: any, timeout: number): any; nack(conn: any, msg: any): any; shouldDeadletter(msg: any, deadletterTimeout: number): boolean; } export interface INatsSubscription { unsubscribe(): any; } export declare function natsServiceFactory(config: any, log?: ILogger): INatsService; //# sourceMappingURL=service.d.ts.map