import { Client } from 'discord.js'; /** * Retry a function with exponential backoff on rate limit errors. * Handles both REST API (429) and gateway (opcode 8) rate limits. */ export declare function withRetry(fn: () => Promise, maxRetries?: number, label?: string): Promise; export interface ServerCache { channels: Array<{ id: string; name: string; type: string; categoryId: string | null; categoryName: string | null; }>; roles: Array<{ id: string; name: string; color: string; position: number; }>; members: Array<{ id: string; username: string; displayName: string; nickname: string | null; }>; lastUpdated: Date; } /** * Initialize the Discord client for MCP server * Uses minimal intents needed for server management */ export declare function initializeClient(): Promise; /** * Get the Discord client instance */ export declare function getClient(): Client; /** * Get the configured guild ID */ export declare function getGuildId(): string; /** * Get the configured guild */ export declare function getGuild(): Promise; /** * Destroy the Discord client connection */ export declare function destroyClient(): Promise; /** * Refresh the server cache with current data * Called on startup and can be called to refresh */ export declare function refreshServerCache(): Promise; /** * Get the server cache (refreshes if not initialized) */ export declare function getServerCache(): Promise; /** * Get a summary of the server for context */ export declare function getServerSummary(): Promise;