import { Client, type Message } from 'discord.js'; export interface DiscordClientConfig { token: string; /** * Optional HTTP/HTTPS proxy URL for all Discord REST and WebSocket traffic. * Credentials can be embedded directly in the URL: * 'http://user:pass@127.0.0.1:7890' * Uses undici ProxyAgent under the hood. */ proxyUrl?: string; /** * Optional Proxy-Authorization header value sent to the proxy server. * Use this when credentials cannot be embedded in the URL. * Format: 'Basic ' or 'Bearer ' * Note: if credentials are already in proxyUrl, this is not needed. */ proxyToken?: string; } type MessageListener = (message: Message) => void; export declare class DiscordClientManager { private static instance; private client?; private listeners; private puppetKeyMap; private constructor(); static getInstance(): DiscordClientManager; start(config: DiscordClientConfig): Promise; stop(): void; addListener(puppet: object, listener: MessageListener): void; removeListener(puppet: object): void; getClient(): Client | undefined; } export {}; //# sourceMappingURL=discord-client-manager.d.ts.map