import type { CacheType, CacheTypeReducer, Guild, GuildMember, GuildTextBasedChannel, PermissionsBitField, Snowflake, TextBasedChannel, User } from 'discord.js'; import type { AutocompleteContext } from './AutocompleteContext'; import type { CommandContext } from './CommandContext'; import type { ComponentContext } from './ComponentContext'; import type { GClient } from '../../GClient'; import type { APIInteractionGuildMember } from 'discord.js'; export interface ContextOptions { channel: CacheTypeReducer; channelId: Snowflake; createdAt: Date; createdTimestamp: number; guild: CacheTypeReducer; guildId: CacheTypeReducer; member: CacheTypeReducer; memberPermissions: CacheTypeReducer>; user: User; } export declare class Context { private readonly _cacheType; readonly client: GClient; readonly channel: CacheTypeReducer; channelId: Snowflake; readonly createdAt: Date; readonly createdTimestamp: number; readonly guild: CacheTypeReducer; guildId: CacheTypeReducer; member: CacheTypeReducer; user: User; userId: Snowflake; memberPermissions: CacheTypeReducer>; type: 'COMMAND' | 'BUTTON' | 'SELECT_MENU' | 'AUTOCOMPLETE'; constructor(client: GClient, options: ContextOptions); inGuild(): this is Context<'raw' | 'cached'>; inCachedGuild(): this is Context<'cached'>; inRawGuild(): this is Context<'raw'>; isCommand(): this is CommandContext; isAutocomplete(): this is AutocompleteContext; isComponent(): this is ComponentContext; isButton(): this is ComponentContext; isSelectMenu(): this is ComponentContext; } //# sourceMappingURL=Context.d.ts.map