import { ContactConstructor, ContactSelfConstructor, DelayConstructor, FriendshipConstructor, ImageConstructor, LocationConstructor, MessageConstructor, MiniProgramConstructor, PostConstructor, RoomConstructor, RoomInvitationConstructor, TagConstructor, TagGroupConstructor, UrlLinkConstructor, ChannelConstructor, MomentConstructor, CallRecordConstructor, ChatHistoryConstructor, WecomConstructor } from '../user-modules/mod.js';
import type { WechatySkeleton } from '../wechaty/mod.js';
declare const wechatifyUserModuleMixin: <MixinBase extends typeof WechatySkeleton>(mixinBase: MixinBase) => ((abstract new (...args: any[]) => {
    __wechatifiedContact?: ContactConstructor | undefined;
    __wechatifiedContactSelf?: ContactSelfConstructor | undefined;
    __wechatifiedDelay?: DelayConstructor | undefined;
    __wechatifiedFriendship?: FriendshipConstructor | undefined;
    __wechatifiedImage?: ImageConstructor | undefined;
    __wechatifiedLocation?: LocationConstructor | undefined;
    __wechatifiedMessage?: MessageConstructor | undefined;
    __wechatifiedMiniProgram?: MiniProgramConstructor | undefined;
    __wechatifiedPost?: PostConstructor | undefined;
    __wechatifiedRoom?: RoomConstructor | undefined;
    __wechatifiedRoomInvitation?: RoomInvitationConstructor | undefined;
    __wechatifiedTag?: TagConstructor | undefined;
    __wechatifiedTagGroup?: TagGroupConstructor | undefined;
    __wechatifiedUrlLink?: UrlLinkConstructor | undefined;
    __wechatifiedChannel?: ChannelConstructor | undefined;
    __wechatifiedMoment?: MomentConstructor | undefined;
    __wechatifiedCallRecord?: CallRecordConstructor | undefined;
    __wechatifiedChatHistory?: ChatHistoryConstructor | undefined;
    __wechatifiedWecom?: WecomConstructor | undefined;
    readonly Contact: ContactConstructor;
    readonly ContactSelf: ContactSelfConstructor;
    readonly Delay: DelayConstructor;
    readonly Friendship: FriendshipConstructor;
    readonly Image: ImageConstructor;
    readonly Location: LocationConstructor;
    readonly Message: MessageConstructor;
    readonly MiniProgram: MiniProgramConstructor;
    readonly Post: PostConstructor;
    readonly Room: RoomConstructor;
    readonly RoomInvitation: RoomInvitationConstructor;
    readonly Tag: TagConstructor;
    readonly TagGroup: TagGroupConstructor;
    readonly UrlLink: UrlLinkConstructor;
    readonly Channel: ChannelConstructor;
    readonly Moment: MomentConstructor;
    readonly CallRecord: CallRecordConstructor;
    readonly ChatHistory: ChatHistoryConstructor;
    readonly Wecom: WecomConstructor;
    init(): Promise<void>;
    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: import("../schemas/wechaty-options.js").WechatyOptions;
    start(): Promise<void>;
    stop(): Promise<void>;
    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<E extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E]): any;
    once<E_1 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_1, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_1]): any;
    prependListener<E_2 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_2, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_2]): any;
    prependOnceListener<E_3 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_3, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_3]): any;
    off<E_4 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_4, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_4]): any;
    removeAllListeners<E_5 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event?: E_5 | undefined): any;
    removeListener<E_6 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_6, listener: import("../schemas/wechaty-events.js").WechatyEventListeners[E_6]): any;
    emit<E_7 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_7, ...args: import("typed-emitter").Arguments<import("../schemas/wechaty-events.js").WechatyEventListeners[E_7]>): boolean;
    eventNames(): (string | symbol)[];
    rawListeners<E_8 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_8): Function[];
    listeners<E_9 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_9): Function[];
    listenerCount<E_10 extends keyof import("../schemas/wechaty-events.js").WechatyEventListeners>(event: E_10): 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;
declare type WechatifyUserModuleMixin = ReturnType<typeof wechatifyUserModuleMixin>;
declare type ProtectedPropertyWechatifyUserModuleMixin = '__wechatifiedContact' | '__wechatifiedContactSelf' | '__wechatifiedDelay' | '__wechatifiedFriendship' | '__wechatifiedImage' | '__wechatifiedLocation' | '__wechatifiedMessage' | '__wechatifiedMiniProgram' | '__wechatifiedRoom' | '__wechatifiedRoomInvitation' | '__wechatifiedTag' | '__wechatifiedTagGroup' | '__wechatifiedUrlLink' | '__wechatifiedChannel' | '__wechatifiedMoment' | '__wechatifiedCallRecord' | '__wechatifiedChatHistory' | '__wechatifiedWecom';
export type { WechatifyUserModuleMixin, ProtectedPropertyWechatifyUserModuleMixin, };
export { wechatifyUserModuleMixin, };
//# sourceMappingURL=wechatify-user-module-mixin.d.ts.map