import { PermissionResolvable, ChatInputApplicationCommandData, CommandInteraction, CommandInteractionOptionResolver, GuildMember } from "discord.js";
import { ExtendedClient } from "../structures/client";

export interface ExtendedInteraction extends CommandInteraction {
	member: GuildMember
}
export interface RunOptions {
	client: ExtendedClient
	interaction: ExtendedInteraction
	args: CommandInteractionOptionResolver
}

type RunFunction = (options: RunOptions) => unknown
export type CommandType = {
	userPermissions?: PermissionResolvable[]
	run: RunFunction
} & ChatInputApplicationCommandData
