export interface ICommandSettings { getSettings(): Promise; } export interface ICommandSettingsBot { getSettingsCallback: (botId: string, guildId: string) => Promise; saveSettingCallback: (commandSetting: BotCommandSetting) => Promise; } export declare enum CommandSettingType { rawData = 0, user = 1, role = 2, channel = 3 } export declare class BotCommandSetting { name: string; guildId: string; botId: string; value: unknown | Array; } export declare class CommandSetting { name: string; description: string; type: CommandSettingType; isList: boolean; value: unknown | Array; isStringSetting(): this is CommandStringSetting; isStringArraySetting(): this is CommandStringArraySetting; } export declare class CommandStringSetting extends CommandSetting { value: string; } export declare class CommandStringArraySetting extends CommandSetting { value: Array; isList: boolean; }