import { type APIChannelSelectComponent, type APIRoleSelectComponent, type APISelectMenuComponent, type APISelectMenuDefaultValue, type APIUserSelectComponent, type Channel, type ChannelType, type EnumLike, type GuildBasedChannel, type GuildChannelType, type SelectMenuDefaultValueType } from "discord.js"; export * from "./components"; export type EnumResolvable = any, K extends keyof E = keyof E> = K | E[K]; export type ChannelTypeString = keyof typeof ChannelType; export type GuildChannelTypeString = Exclude; export type ChannelWithType = Extract; export type GuildChannelWithType = Extract; export type GuildChannelWithTopic = Extract; export type GuildChannelWithTopicType = GuildChannelWithTopic["type"]; export type GuildChannelWithTopicWithType = GuildChannelWithTopic & GuildChannelWithType; export interface AwaitOptions { time?: number; } export type SelectMenuDefaultValueTypeBySelectType = T extends APIChannelSelectComponent ? SelectMenuDefaultValueType.Channel : T extends APIRoleSelectComponent ? SelectMenuDefaultValueType.Role : T extends APIUserSelectComponent ? SelectMenuDefaultValueType.User : SelectMenuDefaultValueType; export type APISelectMenuComponentWithDefaultValue = Extract[]; }>;