UNPKG

jsm-sdk

Version:
42 lines (40 loc) 1.33 kB
declare module Jsm { namespace Sdk { type TSdkEvent = | "request" | "response" | "error" | "reinit" | "refresh-token" | "jwt-token-expired"; type TSdkEventPayload<Event extends TSdkEvent> = Event extends "request" ? Jsm.Core.Utils.Api.Request.Request : Event extends "response" ? { data?: object | Array<object>; } & Jsm.Core.Utils.Api.Response.DefaultResponse & Jsm.Core.Utils.Api.Response.PagedResponse : Event extends "error" ? Jsm.Core.Utils.Api.Response.Error : Event extends "reinit" ? never : Event extends "refresh-token" ? never : Event extends "jwt-token-expired" ? never : never; type TSdkEventHandler<Event extends TSdkEvent> = Event extends "request" ? (data: TSdkEventPayload<Event>) => void | PromiseLike<void> : Event extends "response" ? (data: TSdkEventPayload<Event>) => void | PromiseLike<void> : Event extends "error" ? (error: TSdkEventPayload<Event>) => void | PromiseLike<void> : Event extends "reinit" ? () => void | PromiseLike<void> : Event extends "refresh-token" ? () => void | PromiseLike<void> : Event extends "jwt-token-expired" ? () => void | PromiseLike<void> : never; } }