/* eslint-disable @typescript-eslint/no-explicit-any */ export type Fn = (...params: any[]) => any export type UnPromise = T extends Promise ? U : T // export type RestPardms = T extends (first: any, ...rest: infer U) => any ? U : never export type PromiseReturnType = Promise>> export interface TeleRequest { jsonrpc: '2.0' method: string params?: Parameters id: number | string } export interface TeleResponseError { code: number message: string data?: unknown } export interface TeleResponse { jsonrpc: '2.0' result?: UnPromise> error?: TeleResponseError id: number | string | null }