import { NodeIQQNTWrapperSession } from '../wrapper'; import { ListenerNamingMapping, ServiceNamingMapping } from '../index'; type EnsureFunc = T extends (...args: any) => any ? T : never; type FuncKeys = Extract<{ [K in keyof T]: EnsureFunc extends never ? never : K; }[keyof T], string>; export type ListenerClassBase = Record; export declare class NTEventWrapper { private readonly WrapperSession; private readonly listenerManager; private readonly EventTask; constructor(wrapperSession: NodeIQQNTWrapperSession); createProxyDispatch(ListenerMainName: string): any; createEventFunction, T extends (...args: any) => any = EnsureFunc>(eventName: `${Service}/${ServiceMethod}`): T | undefined; createListenerFunction(listenerMainName: string, uniqueCode?: string): T; dispatcherListener(ListenerMainName: string, ListenerSubName: string, ...args: any[]): Promise; callNoListenerEvent, EventType extends (...args: any) => any = EnsureFunc>(serviceAndMethod: `${Service}/${ServiceMethod}`, ...args: Parameters): Promise>>; registerListen, ListenerType extends (...args: any) => any = EnsureFunc>(listenerAndMethod: `${Listener}/${ListenerMethod}`, checker: (...args: Parameters) => boolean, waitTimes?: number, timeout?: number): Promise>; callNormalEventV2, Listener extends keyof ListenerNamingMapping, ListenerMethod extends FuncKeys, EventType extends (...args: any) => any = EnsureFunc, ListenerType extends (...args: any) => any = EnsureFunc>(serviceAndMethod: `${Service}/${ServiceMethod}`, listenerAndMethod: `${Listener}/${ListenerMethod}`, args: Parameters, checkerEvent?: (ret: Awaited>) => boolean, checkerListener?: (...args: Parameters) => boolean, callbackTimesToWait?: number, timeout?: number): Promise<[EventRet: Awaited>, ...Parameters]>; } export {};