import { Component, ComponentAPI } from '@ayanaware/bento'; import { ApplicationCommand } from 'eris'; export interface SyncOptions { /** Should unspecified commands be removed */ delete?: boolean | string; /** Register in this guild or globally */ guildId?: string; } export declare class SlashManager implements Component { name: string; api: ComponentAPI; private readonly interface; private readonly discord; private readonly cm; /** * Sync Slash Commands with Discord * @param commandsIn Array of ApplicationCommand * @param opts SyncOptions * @returns Discord Slash Bulk Update Response Payload */ syncCommands(commandsIn: Array, opts?: SyncOptions): Promise; /** * Convert all slash supporting Bentocord commands to Discord ApplicationCommand * @returns Array of ApplicationCommand */ convertCommands(): Promise>; /** * Convert Bentocord Command into Discord ApplicationCommand * @param command */ private convertCommand; /** * Convert Bentocord CommandOption to Discord ApplicationCommandOption Counterpart * @param options Array of CommandOptions * @returns ApplicationCommandOption Structure */ private convertOptions; }