import { WechatyInterface, type WechatyOptions } from './wechaty/mod.js';
interface BuilderInterface {
build(options?: WechatyOptions): WechatyInterface;
}
declare class WechatyBuilder implements BuilderInterface {
private static _instance?;
static valid(target: any): target is WechatyInterface;
/**
* Create an instance of Wechaty
*
* @param {WechatyOptions} [options={}]
*
* @example
The World's Shortest ChatBot Code: 6 lines of JavaScript
* import { WechatyBuilder } from 'wechaty'
*
* WechatyBuilder.build(options) // instance() for singleton mode
* .on('scan', (url, status) => console.log(`Scan QR Code to login: ${status}\n${url}`))
* .on('login', user => console.log(`User ${user} logged in`))
* .on('message', message => console.log(`Message: ${message}`))
* .start()
*/
static build(options?: WechatyOptions): WechatyInterface;
/**
* @param options is a `WechatyOptions` object, it can only be set once
*/
static singleton(options?: WechatyOptions): WechatyInterface;
protected static new(): WechatyBuilder;
protected constructor();
protected _singleton: boolean;
protected _options: WechatyOptions;
protected singleton(): WechatyBuilder;
protected options(options?: WechatyOptions): WechatyBuilder;
build(): WechatyInterface;
protected singletonInstance(): WechatyInterface;
protected newInstance(): WechatyInterface;
}
export { type WechatyOptions, type BuilderInterface, WechatyBuilder, };
//# sourceMappingURL=wechaty-builder.d.ts.map