import { Logger } from '../services/logger.js';
export interface DiscordClientConfig {
    dISCORDACCESSTOKEN?: string;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
}
export declare class DiscordClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    constructor(config: DiscordClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    getCurrentUser(params: any): Promise<any>;
    getUser(params: any): Promise<any>;
    getCurrentUserGuilds(params: any): Promise<any>;
    getGuild(params: any): Promise<any>;
    getGuildChannels(params: any): Promise<any>;
    createGuildChannel(params: any): Promise<any>;
    getChannel(params: any): Promise<any>;
    modifyChannel(params: any): Promise<any>;
    deleteChannel(params: any): Promise<any>;
    getChannelMessages(params: any): Promise<any>;
    getChannelMessage(params: any): Promise<any>;
    createMessage(params: any): Promise<any>;
    editMessage(params: any): Promise<any>;
    deleteMessage(params: any): Promise<any>;
    addReaction(params: any): Promise<any>;
    removeReaction(params: any): Promise<any>;
    getGuildMembers(params: any): Promise<any>;
    getGuildMember(params: any): Promise<any>;
    createWebhook(params: any): Promise<any>;
    getChannelWebhooks(params: any): Promise<any>;
    executeWebhook(params: any): Promise<any>;
}
//# sourceMappingURL=discord-client.d.ts.map