import { APIApplicationCommand } from 'discord-api-types'; import { ApplicationCommandData, CachedManager, Collection, FetchApplicationCommandOptions, Snowflake } from 'discord.js'; import { BushApplicationCommandResolvable, BushClient } from '../discord-akairo/BushClient'; import { BushApplicationCommand } from './BushApplicationCommand'; import { BushApplicationCommandPermissionsManager } from './BushApplicationCommandPermissionsManager'; import { BushGuildResolvable } from './BushCommandInteraction'; export class BushApplicationCommandManager< ApplicationCommandScope = BushApplicationCommand<{ guild: BushGuildResolvable }>, PermissionsOptionsExtras = { guild: BushGuildResolvable }, PermissionsGuildType = null > extends CachedManager { public constructor(client: BushClient, iterable?: Iterable); public permissions: BushApplicationCommandPermissionsManager< { command?: BushApplicationCommandResolvable } & PermissionsOptionsExtras, { command: BushApplicationCommandResolvable } & PermissionsOptionsExtras, PermissionsOptionsExtras, PermissionsGuildType, null >; private commandPath({ id, guildId }: { id?: Snowflake; guildId?: Snowflake }): unknown; public create(command: ApplicationCommandData): Promise; public create(command: ApplicationCommandData, guildId: Snowflake): Promise; public delete(command: BushApplicationCommandResolvable, guildId?: Snowflake): Promise; public edit(command: BushApplicationCommandResolvable, data: ApplicationCommandData): Promise; public edit( command: BushApplicationCommandResolvable, data: ApplicationCommandData, guildId: Snowflake ): Promise; public fetch( id: Snowflake, options: FetchApplicationCommandOptions & { guildId: Snowflake } ): Promise; public fetch(id: Snowflake, options?: FetchApplicationCommandOptions): Promise; public fetch( id?: Snowflake, options?: FetchApplicationCommandOptions ): Promise>; public set(commands: ApplicationCommandData[]): Promise>; public set(commands: ApplicationCommandData[], guildId: Snowflake): Promise>; private static transformCommand( command: ApplicationCommandData ): Omit; }