import type { Constructor } from 'clone-class';
import type { WechatyInterface } from '../wechaty/mod.js';
interface WechatyMinxin {
    wechaty: WechatyInterface;
    new (...args: any[]): {
        get wechaty(): WechatyInterface;
    };
}
declare const wechatifyUserModule: <T extends WechatyMinxin>(UserClass: T) => (wechaty: WechatyInterface) => T;
declare const isWechatified: (klass: Function) => boolean;
declare const wechatifyMixin: <TBase extends Constructor<{}, {}>>(Base: TBase) => ((abstract new (...args: any[]) => {
    readonly wechaty: WechatyInterface;
}) & {
    readonly wechaty: WechatyInterface;
}) & TBase;
declare const wechatifyMixinBase: () => ((abstract new (...args: any[]) => {
    readonly wechaty: WechatyInterface;
}) & {
    readonly wechaty: WechatyInterface;
}) & {
    new (): {};
};
export { isWechatified, wechatifyMixin, wechatifyMixinBase, wechatifyUserModule, };
//# sourceMappingURL=wechatify.d.ts.map