import { Client, Message } from "discord.js";
import Logger from "./utils/logger";
declare const ExternalLogger: typeof Logger;
export interface DjskageOptions {
    prefix?: string;
    aliases?: string[];
    customisation?: {
        embedColor?: string;
    };
    debug?: {
        enabled: boolean;
        level?: Array<"verbose" | "error" | "warn" | "log" | "fatal">;
    };
    disabled?: string[];
    permissions?: string[];
    track?: {
        enabled: boolean;
        channel?: string;
    };
}
export interface DjskageError {
    error: Error;
    code: number;
    message: string;
}
export declare class DjskageError extends Error {
    error: Error;
    code: number;
    message: string;
    constructor(error: Error, code: number, message: string);
}
interface Command {
    name: string;
    aliases: string[];
    description: string;
    usage: string;
    execute(kage: Object, client: Client, message: Message, args: string[] | null): void;
}
declare class Djskage {
    private client;
    private options;
    private defInt;
    private commands;
    private tCh;
    constructor();
    initialize(client: Client): Promise<void>;
    private handleCommand;
    getCommands(): Array<Command>;
    getPrefix(): string;
    getOptions(): DjskageOptions;
    static hook(client: Client, options?: DjskageOptions): Promise<Djskage>;
    private static deepMergeOptions;
}
import { Systeminfo } from "./utils/system";
import { Timestamp } from "./utils/time";
export default Djskage;
export { ExternalLogger as Logger };
export { Systeminfo };
export { Timestamp };
