import { Client, Guild } from "discord.js";
import { DiscordAccount } from "../types/account.js";
/**
 * Discord client factory and management service
 */
export declare class DiscordClientService {
    /**
     * Create a new Discord client with proper intents
     */
    static createClient(): Client;
    /**
     * Login to Discord with an account
     */
    static loginClient(client: Client, account: DiscordAccount): Promise<void>;
    /**
     * Get guild information for an account
     */
    static getGuildInfo(client: Client, guildId?: string): Promise<Guild | null>;
    /**
     * Wait for client to be ready
     */
    static waitForReady(client: Client, timeoutMs?: number): Promise<void>;
    /**
     * Safely destroy a client connection
     */
    static destroyClient(client: Client): Promise<void>;
    /**
     * Check if client is connected and ready
     */
    static isClientReady(client: Client): boolean;
    /**
     * Get client connection status
     */
    static getClientStatus(client: Client): {
        isReady: boolean;
        status: string;
        user?: string;
        guilds: number;
    };
    /**
     * Initialize a client for an account
     */
    static initializeClient(account: DiscordAccount): Promise<Client>;
}
//# sourceMappingURL=discord-client.d.ts.map