import { AccountStateManager } from "./account-state.js";
import { CredentialManager } from "./credential-manager.js";
import { DiscordClientService } from "./discord-client.js";
import { Client, Guild } from "discord.js";
import { DiscordAccount } from "../types/account.js";
import { AccountState } from "../types/account.js";
/**
 * Service container that provides access to all Discord services
 * This matches the pattern used in mcp-hubspot for tool handlers
 */
export declare class ServiceContainer {
    readonly accountState: AccountStateManager;
    readonly credentialManager: CredentialManager;
    readonly discordClient: DiscordClientService;
    constructor(accountState: AccountStateManager, credentialManager: CredentialManager);
    /**
     * Get the active Discord client for the current account
     */
    getActiveClient(): Promise<Client>;
    /**
     * Resolve a channel name or ID to a channel ID
     */
    resolveChannel(channelInput: string): Promise<string>;
    /**
     * Resolve a role name or ID to a role ID
     */
    resolveRole(roleInput: string): Promise<string>;
    /**
     * Get the active guild for the current account
     */
    getGuild(): Promise<Guild>;
    /**
     * Get the account state directly
     */
    getAccountState(): AccountState;
    /**
     * Get the credential manager
     */
    getCredentialManager(): CredentialManager;
    /**
     * Initialize a Discord client for an account
     */
    initializeClient(account: DiscordAccount): Promise<Client>;
}
//# sourceMappingURL=service-container.d.ts.map