import { Argument, ArgumentOptions } from './Argument'; import type { CommandContext } from './contexts/CommandContext'; import { AutoDeferType, GClient } from '../GClient'; import { PermissionResolvable, LocaleString } from 'discord.js'; export declare enum CommandType { /** * ![](https://garlic-team.js.org/guide/message.png) */ 'MESSAGE' = 0, /** * ![](https://garlic-team.js.org/guide/slash.png) */ 'SLASH' = 1, /** * ![](https://garlic-team.js.org/guide/context_user.png) */ 'CONTEXT_USER' = 2, /** * ![](https://garlic-team.js.org/guide/context_message.png) */ 'CONTEXT_MESSAGE' = 3 } export type CommandInhibitor = ((ctx: CommandContext) => boolean | any) | { run: CommandInhibitor; }; export type CommandInhibitors = Array; export interface CommandOptions { name: string; nameLocalizations?: Record; description: string; descriptionLocalizations?: Record; type: Array; defaultMemberPermissions?: PermissionResolvable; dmPermission?: boolean; nsfw?: boolean; arguments?: Array; inhibitors?: CommandInhibitors; guildId?: string; cooldown?: string; autoDefer?: AutoDeferType | keyof typeof AutoDeferType; fileName?: string; run?: (ctx: CommandContext) => any; onError?: (ctx: CommandContext, error: any) => any; } export declare class Command { client: GClient; name: string; nameLocalizations?: Record; description: string; descriptionLocalizations?: Record; type: Array; defaultMemberPermissions?: PermissionResolvable; dmPermission?: boolean; nsfw?: boolean; arguments?: Array; inhibitors: CommandInhibitors; options: Partial; guildId?: string; private static defaults?; cooldown?: string; fileName?: string; run: (ctx: CommandContext) => any; onError?: (ctx: CommandContext, error: any) => any; owner?: string; reloading: boolean; autoDefer?: AutoDeferType | keyof typeof AutoDeferType; constructor(options: CommandOptions); initialize(client: GClient): void; unregister(): Command; inhibit(ctx: CommandContext): Promise; reload(): Promise; toJSON(): Array>; static setDefaults(defaults: Partial): void; } //# sourceMappingURL=Command.d.ts.map