import { Client } from "discord.js";
import { BotStatistics } from "../utils/BotStatistics";
import type { BotStarterOptions, BotStartResult } from "../types";
export interface CooldownController {
    getRemaining(userId: string, command: string): Promise<number>;
    set(userId: string, command: string, seconds: number): Promise<void>;
    checkAndSet(userId: string, command: string, seconds: number): Promise<number>;
    clear(userId: string, command: string): Promise<void>;
}
export declare class BotStarter {
    private logger;
    private eventLoader;
    private commandLoader;
    private databaseManager;
    private statistics;
    private fileWatcher?;
    start(client: Client, options: BotStarterOptions): Promise<BotStartResult>;
    private validateOptions;
    private setupDevLogs;
    private loginBot;
    private displayComprehensiveStats;
    private setupBotInfo;
    private setupAntiCrash;
    shutdown(): Promise<void>;
    getStatistics(): BotStatistics;
}
//# sourceMappingURL=BotStarter.d.ts.map