import { Client, Collection } from 'discord.js';
import { Logger } from '../utils/Logger';
import type { CommandsConfig, SlashCommand, PrefixCommand } from '../types';
import { CooldownController } from './BotStarter';
export declare class CommandLoader {
    private logger;
    private fileLoader;
    private slashCommands;
    private prefixCommands;
    private statistics?;
    private cooldowns;
    constructor(logger?: Logger);
    setCooldowns(cooldowns: CooldownController): void;
    setStatistics(statistics: any): void;
    loadCommands(client: Client, config?: CommandsConfig): Promise<{
        slashSize: number;
        prefixSize: number;
    }>;
    private loadSlashCommands;
    private loadPrefixCommands;
    private validateSlashCommand;
    private validatePrefixCommand;
    private registerSlashCommands;
    private setupSlashCommandHandler;
    private setupPrefixCommandHandler;
    private bumpCommandCounters;
    getSlashCommands(): Collection<string, SlashCommand>;
    getPrefixCommands(): Collection<string, PrefixCommand>;
}
//# sourceMappingURL=CommandLoader.d.ts.map