import { ColorResolvable, Snowflake } from "discord.js";
/**
 * Configuration object for Artibot
 * @see {@link ArtibotConfigBuilder} for an easy way to generate this
 * @since 5.0.0
 */
export interface ArtibotConfig {
    /** Discord ID of the owner of the bot */
    ownerId: Snowflake;
    /** Discord ID of the testing guild */
    testGuildId: Snowflake;
    /** Name of the Discord bot. Used almost everywhere. */
    botName: string;
    /** URL of the profile picture of the bot */
    botIcon: string;
    /** Prefix for the commands */
    prefix: string;
    /** Set to false if the bot must be used in more than one server. Interactions could take more time to refresh. */
    devMode: boolean;
    /** Set the lang of the bot */
    lang: string;
    /** Color for the embeds sent by the bot */
    embedColor: ColorResolvable;
    /** Set to false if you want to hide advanced infos from ping commands */
    advancedCorePing: boolean;
    /** Set to false if you don't want the bot to check for new updates */
    checkForUpdates: boolean;
    /** Set to true to show debug messages in console */
    debug: boolean;
    /** Set a custom ready trigger message for Pterodactyl */
    pterodactylReadyMessage: string;
    /** Other config options can be added by modules */
    [key: string]: any;
}
/**
 * Easily build the ArtibotConfig object
 * @see {@link ArtibotConfig} to learn more about individual properties
 * @since 5.0.0
 */
export declare class ArtibotConfigBuilder implements Partial<ArtibotConfig> {
    /** Discord ID of the owner of the bot */
    ownerId?: Snowflake;
    /** ID of the test server */
    testGuildId?: Snowflake;
    /** Name of the bot */
    botName: string;
    /** Icon of the bot */
    botIcon: string;
    /** Prefix for the classic commands */
    prefix: string;
    /** Set to false if the bot must be used in more than one server. Interactions could take more time to refresh. */
    devMode: boolean;
    /** Set the lang of the bot */
    lang: string;
    /** Color for the embeds sent by the bot */
    embedColor: ColorResolvable;
    /** Set to false if you want to hide advanced infos from ping commands */
    advancedCorePing: boolean;
    /** Set to false to disable checking for updates */
    checkForUpdates: boolean;
    /** Set to true to show debug messages in console */
    debug: boolean;
    /** Set a custom ready trigger message for Pterodactyl */
    pterodactylReadyMessage: string;
    /** Set the Discord ID of the owner of this bot (probably you) */
    setOwnerId(id: Snowflake): this;
    /** Set the test guild ID. When {@link devMode} is false, interactions will only be publish in this guild. */
    setTestGuildId(id: Snowflake): this;
    /** Set the name to use in Discord, in {@link Embed} and {@link Artibot.createEmbed} */
    setBotName(name: string): this;
    /** Set the icon to use in {@link Embed} and {@link Artibot.createEmbed} */
    setBotIcon(url: string): this;
    /** Set the prefix for classic commands */
    setPrefix(prefix: string): this;
    /** Set dev mode, to allow Artibot to publish interaction in more than one server */
    setDevMode(state: boolean): this;
    /** Toggle dev mode, to allow Artibot to publish interaction in more than one server */
    toggleDevMode(): this;
    /** Enable dev mode, to allow Artibot to publish interaction in more than one server */
    enableDevMode(): this;
    /** Disable dev mode, to allow Artibot to publish interaction in more than one server */
    disableDevMode(): this;
    /** Set language of the bot (eg. "fr") */
    setLang(lang: string): this;
    /** Set the color of {@link Embed} and {@link Artibot.createEmbed} */
    setEmbedColor(color: ColorResolvable): this;
    /** Set "advanced" stats in the ping command in Core module */
    setAdvancedCorePing(state: boolean): this;
    /** Toggle "advanced" stats in the ping command in Core module */
    toggleAdvancedCorePing(): this;
    /** Enable "advanced" stats in the ping command in Core module */
    enableAdvancedCorePing(): this;
    /** Disable "advanced" stats in the ping command in Core module */
    disableAdvancedCorePing(): this;
    /** Set checking for updates */
    setCheckForUpdates(state: boolean): this;
    /** Toggle checking for updates */
    toggleCheckForUpdates(): this;
    /** Enable checking for updates */
    enableCheckForUpdates(): this;
    /** Disable checking for updates */
    disableCheckForUpdates(): this;
    /** Set debug mode */
    setDebug(state: boolean): this;
    /** Toggle debug mode */
    toggleDebug(): this;
    /** Enable debug mode */
    enableDebug(): this;
    /** Disable debug mode */
    disableDebug(): this;
    /** Set the message sent to Pterodactyl when the bot is ready */
    setPterodactylReadyMessage(message: string): this;
}
