/// <reference types="node" />
import { WACaster } from "./WASockets/MiddlewareWA";
import { dbPromiseType, sockPromiseType } from "./WASockets/Types/miscType";
import EventEmitter from "node:events";
interface constructWA {
    sessionList: InstanceType<typeof Map<string, sockPromiseType>>;
    dbList: InstanceType<typeof Map<string, dbPromiseType>>;
}
interface connectionWA {
    connectionName: string;
    folderPath: string;
}
declare global {
    namespace EventEmitterOptions { }
}
declare class WAController extends EventEmitter {
    sessionList: Map<string, sockPromiseType>;
    dbList: Map<string, dbPromiseType>;
    session: WACaster;
    constructor({ sessionList, dbList }: constructWA);
    createWA({ connectionName, folderPath }: connectionWA): Promise<boolean>;
    stopWA(connectionName: string): Promise<void>;
}
export { WAController };
export default WAController;
