diff --git a/types/rascal/index.d.ts b/types/rascal/index.d.ts index 0d7818d03a3f4a..824d70171cc5f9 100644 --- a/types/rascal/index.d.ts +++ b/types/rascal/index.d.ts @@ -437,16 +437,20 @@ declare const testConfig: { }; type AckOrNack = (err?: Error, recovery?: Recovery | Recovery[]) => void; +type CallbackReturn = T | Promise; export class SubscriberSessionAsPromised extends EventEmitter { name: string; cancel(): Promise; - on(event: "message", listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; - on(event: "error" | "cancelled", listener: (err: Error) => void): this; + on( + event: "message", + listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => CallbackReturn, + ): this; + on(event: "error" | "cancelled", listener: (err: Error) => CallbackReturn): this; on( event: "invalid_content" | "redeliveries_exceeded" | "redeliveries_error", - listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => void, + listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => CallbackReturn, ): this; } @@ -472,11 +476,14 @@ export class SubscriptionSession extends EventEmitter { isCancelled(): boolean; cancel(next: ErrorCb): void; - on(event: "message", listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => void): this; - on(event: "error" | "cancelled", listener: (err: Error) => void): this; + on( + event: "message", + listener: (message: Message, content: any, ackOrNackFn: AckOrNack) => CallbackReturn, + ): this; + on(event: "error" | "cancelled", listener: (err: Error) => CallbackReturn): this; on( event: "invalid_content" | "redeliveries_exceeded" | "redeliveries_error", - listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => void, + listener: (err: Error, message: Message, ackOrNackFn: AckOrNack) => CallbackReturn, ): this; }