import { type APIChannel, ChannelType, type GuildChannelType, type ThreadChannelType } from "discord-api-types/v10"; import type { DmChannel } from "../structures/DmChannel.js"; import type { GroupDmChannel } from "../structures/GroupDmChannel.js"; import type { GuildAnnouncementChannel } from "../structures/GuildAnnouncementChannel.js"; import type { GuildCategoryChannel } from "../structures/GuildCategoryChannel.js"; import type { GuildForumChannel } from "../structures/GuildForumChannel.js"; import type { GuildMediaChannel } from "../structures/GuildMediaChannel.js"; import type { GuildStageChannel, GuildVoiceChannel } from "../structures/GuildStageOrVoiceChannel.js"; import type { GuildTextChannel } from "../structures/GuildTextChannel.js"; import type { GuildThreadChannel } from "../structures/GuildThreadChannel.js"; export type ChannelTypeMap = { [ChannelType.DM]: DmChannel; [ChannelType.GroupDM]: GroupDmChannel; [ChannelType.GuildText]: GuildTextChannel; [ChannelType.GuildVoice]: GuildVoiceChannel; [ChannelType.GuildCategory]: GuildCategoryChannel; [ChannelType.GuildAnnouncement]: GuildAnnouncementChannel; [ChannelType.AnnouncementThread]: GuildThreadChannel; [ChannelType.PublicThread]: GuildThreadChannel; [ChannelType.PrivateThread]: GuildThreadChannel; [ChannelType.GuildStageVoice]: GuildStageChannel; [ChannelType.GuildForum]: GuildForumChannel; [ChannelType.GuildMedia]: GuildMediaChannel; }; type ChannelByType = ChannelTypeMap[Type]; export type AnyChannel = ChannelByType; export type DMBasedChannel = ChannelByType, IsPartial>; export type GuildBasedChannel = ChannelByType, IsPartial>; export type ThreadChannel = ChannelByType, IsPartial>; export type ThreadOnlyChannel = ChannelByType, IsPartial>; export type SendableChannel = ChannelByType, IsPartial>; export {}; //# sourceMappingURL=channels.d.ts.map