import type { GuildMemberStructure, GuildStructure, ThreadChannelStructure } from '../client'; import type { UsingClient } from '../commands'; import type { CreateInviteFromChannel, GuildSearchMessagesResult } from '../common'; import type { ObjectToLower, StructPropState, StructStates, ToClass } from '../common/types/util'; import type { APIGuild, APIPartialGuild, GatewayGuildCreateDispatchData, RESTGetAPIGuildMessagesSearchQuery, RESTPatchAPIGuildJSONBody } from '../types'; import { BaseGuild } from './extra/BaseGuild'; import type { DiscordBase } from './extra/DiscordBase'; export interface Guild extends ObjectToLower>, DiscordBase { } declare const Guild_base: ToClass>, Guild>; export declare class Guild extends Guild_base { joinedAt: StructPropState; memberCount: StructPropState; large: StructPropState; unavailable?: StructPropState; constructor(client: UsingClient, data: APIGuild | GatewayGuildCreateDispatchData); webhooks: { list: () => Promise; }; get maxStickers(): MaxStickers; get maxEmojis(): MaxEmojis; fetchOwner(force?: boolean): Promise; listActiveThreads(force?: boolean): Promise; templates: { fetch: (code: string) => Promise; list: () => Promise; create: (body: import("..").RESTPostAPIGuildTemplatesJSONBody) => Promise; sync: (code: string) => Promise; edit: (code: string, body: import("..").RESTPatchAPIGuildTemplateJSONBody) => Promise; delete: (code: string) => Promise; }; stickers: { list: () => Promise; create: (payload: import("./Sticker").CreateStickerBodyRequest, reason?: string) => Promise; edit: (stickerId: string, body: import("..").RESTPatchAPIGuildStickerJSONBody, reason?: string) => Promise; fetch: (stickerId: string, force?: boolean) => Promise; delete: (stickerId: string, reason?: string) => Promise; }; members: { resolve: (resolve: import("../common").GuildMemberResolvable) => Promise; search: (query: import("..").RESTGetAPIGuildMembersSearchQuery) => Promise; unban: (id: string, reason?: string) => Promise; ban: (id: string, options?: import("..").BanOptions) => Promise; kick: (id: string, reason?: string) => Promise; edit: (id: string, body: import("..").RESTPatchAPIGuildMemberJSONBody, reason?: string) => Promise; add: (id: string, body: import("..").RESTPutAPIGuildMemberJSONBody) => Promise; addRole: (memberId: string, id: string) => Promise; removeRole: (memberId: string, id: string) => Promise; fetch: (memberId: string, force?: boolean) => Promise; list: (query?: import("..").RESTGetAPIGuildMembersQuery, force?: boolean) => Promise; }; moderationRules: { list: () => Promise; create: (body: import("..").RESTPostAPIAutoModerationRuleJSONBody) => Promise; delete: (ruleId: string, reason?: string) => Promise; fetch: (ruleId: string) => Promise; edit: (ruleId: string, body: import("..").RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) => Promise; }; roles: { create: (body: import("..").RESTPostAPIGuildRoleJSONBody) => Promise; list: (force?: boolean) => Promise; edit: (roleId: string, body: import("..").RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise; delete: (roleId: string, reason?: string) => Promise; editPositions: (body: import("..").RESTPatchAPIGuildRolePositionsJSONBody) => Promise; memberCounts: () => Promise; }; channels: { list: (force?: boolean) => Promise; fetch: (id: string, force?: boolean) => Promise; create: (body: import("..").RESTPostAPIGuildChannelJSONBody & { type: T; }) => Promise; delete: (id: string, reason?: string) => Promise; edit: (id: string, body: import("..").RESTPatchAPIChannelJSONBody, reason?: string) => Promise; editPositions: (body: import("..").RESTPatchAPIGuildChannelPositionsJSONBody) => Promise; }; emojis: { edit: (emojiId: string, body: import("..").RESTPatchAPIGuildEmojiJSONBody, reason?: string) => Promise; create: (body: Parameters[1]) => Promise; fetch: (emojiId: string, force?: boolean) => Promise; list: (force?: boolean) => Promise; }; bans: { fetch: (userId: string, force?: boolean) => Promise; list: (query?: import("..").RESTGetAPIGuildBansQuery, force?: boolean) => Promise; create: (memberId: string, options?: Parameters[2]) => Promise; remove: (memberId: string, reason?: string) => Promise; bulkCreate: (body: Parameters[1], reason?: string) => Promise; }; edit(body: RESTPatchAPIGuildJSONBody, reason?: string): Promise>; searchMessages(query?: RESTGetAPIGuildMessagesSearchQuery, wait?: boolean): Promise; invites: { list: () => Promise<{ uses: number; maxUses: number; maxAge: number; temporary: boolean; createdAt: string; code: string; guild?: { id: string; name: string; description: string | null; icon: string | null; splash: string | null; banner: string | null; features: import("..").GuildFeature[]; verificationLevel: import("..").GuildVerificationLevel; vanityUrlCode: string | null; premiumSubscriptionCount?: number | undefined; nsfwLevel: import("..").GuildNSFWLevel; } | undefined; channel: { id: string; type: import("..").ChannelType; name: string | null; } | null; inviter?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetType?: import("..").InviteTargetType | undefined; targetUser?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetApplication?: { id?: string | undefined; name?: string | undefined; icon?: string | null | undefined; description?: string | undefined; rpcOrigins?: string[] | undefined; botPublic?: boolean | undefined; botRequireCodeGrant?: boolean | undefined; bot?: import("..").APIUser | undefined; termsOfServiceUrl?: string | undefined; privacyPolicyUrl?: string | undefined; owner?: import("..").APIUser | undefined; verifyKey?: string | undefined; team?: import("..").APITeam | null | undefined; guildId?: string | undefined; guild?: APIPartialGuild | undefined; primarySkuId?: string | undefined; slug?: string | undefined; coverImage?: string | undefined; flags?: import("..").ApplicationFlags | undefined; approximateGuildCount?: number | undefined; approximateUserInstallCount?: number | undefined; redirectUris?: string[] | undefined; interactionsEndpointUrl?: string | null | undefined; roleConnectionsVerificationUrl?: string | null | undefined; tags?: [string, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?] | undefined; installParams?: import("..").APIApplicationInstallParams | undefined; integrationTypesConfig?: import("..").APIApplicationIntegrationTypesConfigMap | undefined; customInstallUrl?: string | undefined; } | undefined; approximatePresenceCount?: number | undefined; approximateMemberCount?: number | undefined; expiresAt?: string | null | undefined; guildScheduledEvent?: { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.StageInstance; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.Voice; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: null; entityMetadata: { location: string; }; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.External; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | undefined; type: import("..").InviteType; }[]>; create: (data: CreateInviteFromChannel) => Promise<{ uses: number; maxUses: number; maxAge: number; temporary: boolean; createdAt: string; code: string; guild?: { id: string; name: string; description: string | null; icon: string | null; splash: string | null; banner: string | null; features: import("..").GuildFeature[]; verificationLevel: import("..").GuildVerificationLevel; vanityUrlCode: string | null; premiumSubscriptionCount?: number | undefined; nsfwLevel: import("..").GuildNSFWLevel; } | undefined; channel: { id: string; type: import("..").ChannelType; name: string | null; } | null; inviter?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetType?: import("..").InviteTargetType | undefined; targetUser?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetApplication?: { id?: string | undefined; name?: string | undefined; icon?: string | null | undefined; description?: string | undefined; rpcOrigins?: string[] | undefined; botPublic?: boolean | undefined; botRequireCodeGrant?: boolean | undefined; bot?: import("..").APIUser | undefined; termsOfServiceUrl?: string | undefined; privacyPolicyUrl?: string | undefined; owner?: import("..").APIUser | undefined; verifyKey?: string | undefined; team?: import("..").APITeam | null | undefined; guildId?: string | undefined; guild?: APIPartialGuild | undefined; primarySkuId?: string | undefined; slug?: string | undefined; coverImage?: string | undefined; flags?: import("..").ApplicationFlags | undefined; approximateGuildCount?: number | undefined; approximateUserInstallCount?: number | undefined; redirectUris?: string[] | undefined; interactionsEndpointUrl?: string | null | undefined; roleConnectionsVerificationUrl?: string | null | undefined; tags?: [string, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?] | undefined; installParams?: import("..").APIApplicationInstallParams | undefined; integrationTypesConfig?: import("..").APIApplicationIntegrationTypesConfigMap | undefined; customInstallUrl?: string | undefined; } | undefined; approximatePresenceCount?: number | undefined; approximateMemberCount?: number | undefined; expiresAt?: string | null | undefined; guildScheduledEvent?: { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.StageInstance; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.Voice; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: null; entityMetadata: { location: string; }; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.External; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | undefined; type: import("..").InviteType; }>; delete: (code: string, reason?: string) => Promise<{ code: string; guild?: { id: string; name: string; description: string | null; icon: string | null; splash: string | null; banner: string | null; features: import("..").GuildFeature[]; verificationLevel: import("..").GuildVerificationLevel; vanityUrlCode: string | null; premiumSubscriptionCount?: number | undefined; nsfwLevel: import("..").GuildNSFWLevel; } | undefined; channel: { id: string; type: import("..").ChannelType; name: string | null; } | null; inviter?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetType?: import("..").InviteTargetType | undefined; targetUser?: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: import("..").UserFlags | undefined; premiumType?: import("..").UserPremiumType | undefined; publicFlags?: import("..").UserFlags | undefined; avatarDecorationData?: import("..").APIAvatarDecorationData | null | undefined; collectibles?: import("..").APICollectibles | null | undefined; primaryGuild?: import("..").APIUserPrimaryGuild | null | undefined; } | undefined; targetApplication?: { id?: string | undefined; name?: string | undefined; icon?: string | null | undefined; description?: string | undefined; rpcOrigins?: string[] | undefined; botPublic?: boolean | undefined; botRequireCodeGrant?: boolean | undefined; bot?: import("..").APIUser | undefined; termsOfServiceUrl?: string | undefined; privacyPolicyUrl?: string | undefined; owner?: import("..").APIUser | undefined; verifyKey?: string | undefined; team?: import("..").APITeam | null | undefined; guildId?: string | undefined; guild?: APIPartialGuild | undefined; primarySkuId?: string | undefined; slug?: string | undefined; coverImage?: string | undefined; flags?: import("..").ApplicationFlags | undefined; approximateGuildCount?: number | undefined; approximateUserInstallCount?: number | undefined; redirectUris?: string[] | undefined; interactionsEndpointUrl?: string | null | undefined; roleConnectionsVerificationUrl?: string | null | undefined; tags?: [string, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?] | undefined; installParams?: import("..").APIApplicationInstallParams | undefined; integrationTypesConfig?: import("..").APIApplicationIntegrationTypesConfigMap | undefined; customInstallUrl?: string | undefined; } | undefined; approximatePresenceCount?: number | undefined; approximateMemberCount?: number | undefined; expiresAt?: string | null | undefined; guildScheduledEvent?: { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.StageInstance; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: string; entityMetadata: null; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.Voice; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | { channelId: null; entityMetadata: { location: string; }; id: string; guildId: string; creatorId?: string | null | undefined; name: string; description?: string | null | undefined; scheduledStartTime: string; scheduledEndTime: string | null; privacyLevel: import("..").GuildScheduledEventPrivacyLevel; status: import("..").GuildScheduledEventStatus; entityType: import("..").GuildScheduledEventEntityType.External; entityId: string | null; creator?: import("..").APIUser | undefined; userCount?: number | undefined; image?: string | null | undefined; recurrenceRule: import("..").APIGuildScheduledEventRecurrenceRule | null; } | undefined; type: import("..").InviteType; }>; }; } /** Maximun custom guild emojis per level */ export type MaxEmojis = 50 | 100 | 150 | 250; /** Maximun custom guild stickers per level */ export type MaxStickers = 5 | 15 | 30 | 60; export {};