import { Io } from '../io.js'; import type { WechatyOptions } from '../wechaty-builder.js'; import type { WechatySkeleton } from '../wechaty/mod.js'; /** * Huan(202111): we should not include the IO logic internally * * TODO: remove all IO related logics from Wechaty internal */ declare const ioMixin: { wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync; emitError(e: any): void; emit(event: any, ...args: any): boolean; readonly log: import("brolog/dist/esm/src/logger.js").Loggable; readonly id: string; __memory?: import("memory-card").MemoryCard | undefined; readonly memory: import("memory-card").MemoryCard; __options: WechatyOptions; init(): Promise; start(): Promise; stop(): Promise; on(event: "error" | "ready" | "tag" | "login" | "start" | "stop" | "logout" | "room-invite" | "room-join" | "room-leave" | "room-topic" | "room-announce" | "dong" | "friendship" | "heartbeat" | "message" | "post" | "puppet" | "scan" | "contact-tag-add" | "contact-tag-remove" | "contact-name" | "contact-alias" | "contact-phone" | "contact-description" | "contact-corporation" | "room-owner" | "tag-group" | "post-comment" | "post-tap" | "verify-code" | "dirty" | "login-url", listener: (...args: any[]) => any): any; addListener(event: E, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E]): any; once(event: E_1, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_1]): any; prependListener(event: E_2, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_2]): any; prependOnceListener(event: E_3, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_3]): any; off(event: E_4, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_4]): any; removeAllListeners(event?: E_5 | undefined): any; removeListener(event: E_6, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_6]): any; eventNames(): (string | symbol)[]; rawListeners(event: E_7): Function[]; listeners(event: E_8): Function[]; listenerCount(event: E_9): number; getMaxListeners(): number; setMaxListeners(maxListeners: number): any; __events: import("../schemas/wechaty-events.js").WechatyEventListeners; }) & { readonly log: import("brolog/dist/esm/src/logger.js").Loggable; })>(mixinBase: MixinBase) => ((abstract new (...args: any[]) => { __io?: Io | undefined; readonly io: Io; __ioToken?: string | undefined; start(): Promise; stop(): Promise; readonly log: import("brolog/dist/esm/src/logger.js").Loggable; readonly id: string; __memory?: import("memory-card").MemoryCard | undefined; readonly memory: import("memory-card").MemoryCard; __options: WechatyOptions; init(): Promise; on(event: "error" | "ready" | "tag" | "login" | "start" | "stop" | "logout" | "room-invite" | "room-join" | "room-leave" | "room-topic" | "room-announce" | "dong" | "friendship" | "heartbeat" | "message" | "post" | "puppet" | "scan" | "contact-tag-add" | "contact-tag-remove" | "contact-name" | "contact-alias" | "contact-phone" | "contact-description" | "contact-corporation" | "room-owner" | "tag-group" | "post-comment" | "post-tap" | "verify-code" | "dirty" | "login-url", listener: (...args: any[]) => any): any; addListener(event: E_10, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_10]): any; once(event: E_11, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_11]): any; prependListener(event: E_12, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_12]): any; prependOnceListener(event: E_13, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_13]): any; off(event: E_14, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_14]): any; removeAllListeners(event?: E_15 | undefined): any; removeListener(event: E_16, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_16]): any; emit: ((event: E_17, ...args: import("typed-emitter").Arguments) => boolean) & ((event: any, ...args: any) => boolean); eventNames(): (string | symbol)[]; rawListeners(event: E_7): Function[]; listeners(event: E_8): Function[]; listenerCount(event: E_9): number; getMaxListeners(): number; setMaxListeners(maxListeners: number): any; __events: import("../schemas/wechaty-events.js").WechatyEventListeners; wrapAsync: import("gerror/dist/esm/src/wrap-async-error/wrap-async-error.js").WrapAsync; emitError(e: any): void; }) & { readonly log: import("brolog/dist/esm/src/logger.js").Loggable; }) & MixinBase; declare type IoMixin = ReturnType; declare type ProtectedPropertyIoMixin = '__io' | '__ioToken' | 'io'; export type { IoMixin, ProtectedPropertyIoMixin, }; export { ioMixin, }; //# sourceMappingURL=io-mixin.d.ts.map