import { Collection, GuildChannelManager, type CategoryChannel, type GuildBasedChannel, type GuildChannelType, type VoiceBasedChannel } from "discord.js"; import { type GuildChannelTypeString, type GuildChannelWithTopic, type GuildChannelWithTopicType, type GuildChannelWithTopicWithType, type GuildChannelWithType } from "../@types"; export default class GuildChannelManagerExtension { cache: GuildChannelManager["cache"]; constructor(); /** @DJSProtofy */ getById(id: string): GuildBasedChannel | undefined; getById(id: string, type: T): GuildChannelWithType | undefined; /** @DJSProtofy */ getByName(name: string | RegExp): GuildBasedChannel | undefined; getByName(name: string | RegExp, type: T): GuildChannelWithType | undefined; /** @DJSProtofy */ getByTopic(topic: string | RegExp): GuildChannelWithTopic | undefined; getByTopic(topic: string | RegExp, type: T): GuildChannelWithTopicWithType | undefined; /** @DJSProtofy */ getByUrl(url: string): GuildBasedChannel | undefined; getByUrl(url: string, type: T): GuildChannelWithType | undefined; /** @DJSProtofy */ getCategoryById(id: string): CategoryChannel; /** @DJSProtofy */ getCategoryByName(name: string | RegExp): CategoryChannel; /** @DJSProtofy */ getVoiceByUserId(id: string): VoiceBasedChannel | undefined; /** @DJSProtofy */ filterByTypes(type: T | T[]): Collection>; /** @DJSProtofy */ searchBy(query: T): GuildBasedChannel | undefined; searchBy(query: T): GuildBasedChannel | undefined; searchBy(query: T): GuildBasedChannel | undefined; searchBy(query: T): GuildBasedChannel | undefined; searchBy(query: T[]): Collection; /** @DJSProtofy */ protected _searchByMany(queries: (string | RegExp | Search)[]): this["cache"]; /** @DJSProtofy */ protected _searchByRegExp(query: RegExp): GuildBasedChannel; /** @DJSProtofy */ protected _searchByString(query: string): GuildBasedChannel; } interface Search { id?: string; name?: string | RegExp; topic?: string | RegExp; } export {};