import { RESTGetAPIApplicationGuildCommandsQuery, RESTGetAPIApplicationGuildCommandsResult, RESTPostAPIApplicationGuildCommandsJSONBody, RESTPostAPIApplicationGuildCommandsResult, RESTPutAPIApplicationGuildCommandsJSONBody, RESTPutAPIApplicationGuildCommandsResult, RESTGetAPIGuildApplicationCommandsPermissionsResult, RESTGetAPIApplicationGuildCommandResult, RESTPatchAPIApplicationGuildCommandJSONBody, RESTPatchAPIApplicationGuildCommandResult, RESTPutAPIApplicationCommandPermissionsJSONBody, RESTPutAPIGuildApplicationCommandsPermissionsResult, RESTGetAPIApplicationCommandsQuery, RESTGetAPIApplicationCommandsResult, RESTPostAPIApplicationCommandsJSONBody, RESTPostAPIApplicationCommandsResult, RESTPutAPIApplicationCommandsJSONBody, RESTPutAPIApplicationCommandsResult, RESTGetAPIApplicationCommandResult, RESTPatchAPIApplicationCommandJSONBody, RESTPatchAPIApplicationCommandResult, RESTGetAPIApplicationRoleConnectionMetadataResult, RESTPutAPIApplicationRoleConnectionMetadataJSONBody, RESTPutAPIApplicationRoleConnectionMetadataResult, RESTGetAPIChannelResult, RESTPatchAPIChannelJSONBody, RESTPatchAPIChannelResult, RESTDeleteAPIChannelResult, RESTGetAPIChannelThreadsArchivedQuery, RESTGetAPIChannelUsersThreadsArchivedResult, RESTGetAPIChannelThreadMembersQuery, RESTGetAPIChannelThreadMembersResult, RESTPutAPIChannelThreadMembersResult, RESTDeleteAPIChannelThreadMembersResult, RESTGetAPIChannelThreadMemberQuery, RESTGetAPIChannelThreadMemberResult, RESTPostAPIChannelThreadsJSONBody, RESTPostAPIGuildForumThreadsJSONBody, RESTPostAPIChannelThreadsResult, RESTGetAPIChannelThreadsArchivedPublicResult, RESTGetAPIChannelThreadsArchivedPrivateResult, RESTPutAPIChannelRecipientJSONBody, RESTPutAPIChannelRecipientResult, RESTDeleteAPIChannelRecipientResult, RESTGetAPIChannelPinsResult, RESTPutAPIChannelPinResult, RESTDeleteAPIChannelPinResult, RESTPostAPIChannelFollowersJSONBody, RESTPostAPIChannelFollowersResult, RESTPutAPIChannelPermissionJSONBody, RESTPutAPIChannelPermissionResult, RESTDeleteAPIChannelPermissionResult, RESTGetAPIChannelInvitesResult, RESTPostAPIChannelInviteJSONBody, RESTPostAPIChannelInviteResult, RESTGetAPIChannelMessagesQuery, RESTGetAPIChannelMessagesResult, RESTPostAPIChannelMessageJSONBody, RESTPostAPIChannelMessageResult, RESTPostAPIChannelMessagesBulkDeleteJSONBody, RESTPostAPIChannelMessagesBulkDeleteResult, RESTGetAPIChannelMessageResult, RESTPatchAPIChannelMessageJSONBody, RESTPatchAPIChannelMessageResult, RESTDeleteAPIChannelMessageResult, RESTPostAPIChannelMessagesThreadsJSONBody, RESTPostAPIChannelMessagesThreadsResult, RESTPostAPIChannelMessageCrosspostResult, RESTDeleteAPIChannelAllMessageReactionsResult, RESTGetAPIChannelMessageReactionUsersQuery, RESTGetAPIChannelMessageReactionUsersResult, RESTDeleteAPIChannelMessageReactionResult, RESTPutAPIChannelMessageReactionResult, RESTPostAPIChannelTypingResult, RESTGetAPIGuildWebhooksResult, RESTPostAPIChannelWebhookJSONBody, RESTPostAPIChannelWebhookResult, RESTGetAPIGatewayResult, RESTGetAPIGatewayBotResult, RESTPostAPIGuildsJSONBody, RESTPostAPIGuildsResult, RESTGetAPITemplateResult, RESTPostAPITemplateCreateGuildJSONBody, RESTPostAPITemplateCreateGuildResult, RESTGetAPIGuildQuery, RESTGetAPIGuildResult, RESTPatchAPIGuildJSONBody, RESTPatchAPIGuildResult, RESTDeleteAPIGuildResult, RESTGetAPIGuildPreviewResult, RESTGetAPIAuditLogQuery, RESTGetAPIAuditLogResult, RESTGetAPIAutoModerationRulesResult, RESTPostAPIAutoModerationRuleJSONBody, RESTPostAPIAutoModerationRuleResult, RESTGetAPIAutoModerationRuleResult, RESTPatchAPIAutoModerationRuleJSONBody, RESTPatchAPIAutoModerationRuleResult, RESTDeleteAPIAutoModerationRuleResult, RESTGetAPIGuildChannelsResult, RESTPostAPIGuildChannelJSONBody, RESTPostAPIGuildChannelResult, RESTPatchAPIGuildChannelPositionsJSONBody, RESTPatchAPIGuildChannelPositionsResult, RESTGetAPIGuildMembersQuery, RESTGetAPIGuildMembersResult, RESTGetAPIGuildMembersSearchQuery, RESTGetAPIGuildMembersSearchResult, RESTPatchAPICurrentGuildMemberJSONBody, RESTGetAPIGuildMemberResult, RESTPutAPIGuildMemberJSONBody, RESTPutAPIGuildMemberResult, RESTPatchAPIGuildMemberJSONBody, RESTPatchAPIGuildMemberResult, RESTDeleteAPIGuildMemberResult, RESTPutAPIGuildMemberRoleResult, RESTDeleteAPIGuildMemberRoleResult, RESTGetAPIGuildThreadsResult, APIThreadChannel, RESTGetAPIGuildRolesResult, RESTPostAPIGuildRoleJSONBody, RESTPostAPIGuildRoleResult, RESTPatchAPIGuildRolePositionsJSONBody, RESTPatchAPIGuildRolePositionsResult, RESTPatchAPIGuildRoleJSONBody, RESTPatchAPIGuildRoleResult, RESTDeleteAPIGuildRoleResult, RESTGetAPIGuildBansQuery, RESTGetAPIGuildBansResult, RESTGetAPIGuildBanResult, RESTPutAPIGuildBanJSONBody, RESTPutAPIGuildBanResult, RESTDeleteAPIGuildBanResult, RESTPostAPIGuildsMFAJSONBody, RESTPostAPIGuildsMFAResult, RESTGetAPIGuildPruneCountQuery, RESTGetAPIGuildPruneCountResult, RESTPostAPIGuildPruneJSONBody, RESTPostAPIGuildPruneResult, RESTGetAPIGuildVoiceRegionsResult, RESTGetAPIGuildInvitesResult, RESTGetAPIGuildWidgetSettingsResult, RESTPatchAPIGuildWidgetSettingsJSONBody, RESTPatchAPIGuildWidgetSettingsResult, RESTGetAPIGuildWidgetJSONResult, RESTGetAPIGuildWidgetImageQuery, RESTGetAPIGuildWidgetImageResult, RESTGetAPIGuildIntegrationsResult, RESTDeleteAPIGuildIntegrationResult, RESTGetAPIGuildVanityUrlResult, RESTGetAPIGuildWelcomeScreenResult, RESTPatchAPIGuildWelcomeScreenJSONBody, RESTPatchAPIGuildWelcomeScreenResult, RESTGetAPIGuildEmojisResult, RESTPostAPIGuildEmojiJSONBody, RESTPostAPIGuildEmojiResult, RESTGetAPIGuildEmojiResult, RESTPatchAPIGuildEmojiJSONBody, RESTPatchAPIGuildEmojiResult, RESTDeleteAPIGuildEmojiResult, RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody, RESTPatchAPIGuildVoiceStateCurrentMemberResult, RESTPatchAPIGuildVoiceStateUserJSONBody, RESTPatchAPIGuildVoiceStateUserResult, RESTGetAPIGuildStickersResult, RESTPostAPIGuildStickerFormDataBody, RESTPostAPIGuildStickerResult, RESTGetAPIGuildStickerResult, RESTPatchAPIGuildStickerJSONBody, RESTPatchAPIGuildStickerResult, RESTDeleteAPIGuildStickerResult, RESTGetAPIGuildScheduledEventsQuery, RESTGetAPIGuildScheduledEventsResult, RESTPostAPIGuildScheduledEventJSONBody, RESTPostAPIGuildScheduledEventResult, RESTGetAPIGuildScheduledEventQuery, RESTGetAPIGuildScheduledEventResult, RESTPatchAPIGuildScheduledEventJSONBody, RESTPatchAPIGuildScheduledEventResult, RESTDeleteAPIGuildScheduledEventResult, RESTGetAPIGuildScheduledEventUsersQuery, RESTGetAPIGuildScheduledEventUsersResult, RESTGetAPIGuildTemplatesResult, RESTPostAPIGuildTemplatesJSONBody, RESTPostAPIGuildTemplatesResult, RESTPutAPIGuildTemplateSyncResult, RESTPatchAPIGuildTemplateJSONBody, RESTPatchAPIGuildTemplateResult, RESTDeleteAPIGuildTemplateResult, RESTPostAPIInteractionCallbackJSONBody, RESTGetAPIInviteQuery, RESTGetAPIInviteResult, RESTDeleteAPIInviteResult, RESTPostAPIStageInstanceJSONBody, RESTPostAPIStageInstanceResult, RESTGetAPIStageInstanceResult, RESTPatchAPIStageInstanceJSONBody, RESTPatchAPIStageInstanceResult, RESTDeleteAPIStageInstanceResult, RESTGetAPIStickerResult, RESTGetNitroStickerPacksResult, RESTGetAPIUserResult, RESTGetAPICurrentUserResult, RESTPatchAPICurrentUserJSONBody, RESTPatchAPICurrentUserResult, RESTGetAPICurrentUserGuildsQuery, RESTGetAPICurrentUserGuildsResult, RESTGetCurrentUserGuildMemberResult, RESTPostAPICurrentUserCreateDMChannelJSONBody, APIDMChannel, RESTGetAPICurrentUserConnectionsResult, RESTGetAPICurrentUserApplicationRoleConnectionResult, RESTPutAPICurrentUserApplicationRoleConnectionJSONBody, RESTPutAPICurrentUserApplicationRoleConnectionResult, RESTGetAPIVoiceRegionsResult, RESTGetAPIWebhookResult, RESTPatchAPIWebhookJSONBody, RESTPatchAPIWebhookResult, RESTDeleteAPIWebhookResult, RESTGetAPIWebhookWithTokenResult, RESTPatchAPIWebhookWithTokenJSONBody, RESTPatchAPIWebhookWithTokenResult, RESTDeleteAPIWebhookWithTokenResult, RESTPostAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenQuery, RESTPostAPIWebhookWithTokenResult, RESTPostAPIWebhookWithTokenWaitResult, RESTPostAPIWebhookWithTokenSlackQuery, RESTPostAPIWebhookWithTokenSlackResult, RESTPostAPIWebhookWithTokenSlackWaitResult, RESTPostAPIWebhookWithTokenGitHubQuery, RESTPostAPIWebhookWithTokenGitHubResult, RESTPostAPIWebhookWithTokenGitHubWaitResult, RESTGetAPIWebhookWithTokenMessageResult, RESTPatchAPIWebhookWithTokenMessageJSONBody, RESTPatchAPIWebhookWithTokenMessageResult, RESTDeleteAPIWebhookWithTokenMessageResult } from 'discord-api-types/v10'; import { REST, RequestData, RawFile } from '@discordjs/rest'; export { REST, RawFile } from '@discordjs/rest'; type Identify = T extends infer U ? { [K in keyof U]: U[K]; } : never; declare enum RequestMethod { Delete = "delete", Get = "get", Patch = "patch", Post = "post", Put = "put" } declare class Router { private rest; noop: () => void; constructor(rest: BiscuitREST); createProxy(route?: string[]): Routes; } declare class CDN { static createProxy(route?: string[]): CDNRoutes; } declare class BiscuitREST { options: BiscuitRESTOptions; api: REST; constructor(options: BiscuitRESTOptions); get(route: string, options?: RequestObject): Promise; post(route: string, body?: RequestObject): Promise; put(route: string, body?: RequestObject): Promise; patch(route: string, body?: RequestObject): Promise; delete(route: string, options?: RequestObject): Promise; } type BiscuitRESTOptions = Identify[0] & { token: string; }>; type RequestOptions = Pick; type RequestObject, Q = Record> = { query?: Q; } & RequestOptions & (M extends `${RequestMethod.Get}` ? unknown : { body?: B; files?: RawFile[]; }); type RestArguments = any> = M extends RequestMethod.Get ? Q extends never ? RequestObject : never : RequestObject; interface ApplicationRoutes { applications: { (id: string): { guilds: { (id: string): { commands: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; put(args: RestArguments): Promise; permissions: { get(args?: RestArguments): Promise; }; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; permissions: { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; }; }; }; }; }; commands: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; put(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; 'role-connections': { metadata: { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; }; }; }; }; } interface ChannelRoutes { channels(id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; users: { (id: '@me'): { threads: { archived: { private: { get(args?: RestArguments): Promise; }; }; }; }; }; 'thread-members': { get(args?: RestArguments): Promise; (id: '@me'): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; (id: string): { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; threads: { post(args: RestArguments): Promise; archived: { public: { get(args?: RestArguments): Promise; }; private: { get(args?: RestArguments): Promise; }; }; }; recipients: { (id: string): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; pins: { get(args?: RestArguments): Promise; (id: string): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; followers: { post(args: RestArguments): Promise; }; permissions: { (id: string): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; invites: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; }; messages: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; 'bulk-delete': { post(args: RestArguments): Promise; }; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; threads: { post(args: RestArguments): Promise; }; crosspost: { post(args: RestArguments): Promise; }; reactions: { delete(args?: RestArguments): Promise; (emoji: string): { get(args?: RestArguments): Promise; delete(args?: RestArguments): Promise; (id: '@me'): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; (id: string): { delete(args?: RestArguments): Promise; }; }; }; }; }; typing: { post(args?: RestArguments): Promise; }; webhooks: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; }; }; } interface GatewayRoutes { gateway: { get(args?: RestArguments): Promise; bot: { get(args?: RestArguments): Promise; }; }; } interface GuildRoutes { guilds: { post(args: RestArguments): Promise; templates(code: string): { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; }; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; webhooks: { get(args?: RestArguments): Promise; }; preview: { get(args?: RestArguments): Promise; }; 'audit-logs': { get(args?: RestArguments): Promise; }; 'auto-moderation': { rules: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; }; channels: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; patch(args: RestArguments): Promise; }; members: { get(args?: RestArguments): Promise; search: { get(args: RestArguments): Promise; }; '@me': { patch(args: RestArguments): Promise; }; (id: string): { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; roles(id: string): { put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; }; threads: { active: { get(args?: RestArguments): Promise; }>>; }; }; roles: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; patch(args: RestArguments): Promise; (id: string): { patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; bans: { get(args: RestArguments): Promise; (userId: string): { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; mfa: { post(args: RestArguments): Promise; }; prune: { get(args: RestArguments): Promise; post(args: RestArguments): Promise; }; regions: { get(args?: RestArguments): Promise; }; invites: { get(args?: RestArguments): Promise; }; widget: { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; }; 'widget.json': { get(args?: RestArguments): Promise; }; 'widget.png': { get(args?: RestArguments): Promise; }; integrations: { get(args?: RestArguments): Promise; (id: string): { delete(args?: RestArguments): Promise; }; }; 'vanity-url': { get(args?: RestArguments): Promise; }; 'welcome-screen': { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; }; emojis: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; 'voice-states': { '@me': { patch(args: RestArguments): Promise; }; (id: string): { patch(args: RestArguments): Promise; }; }; stickers: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; 'scheduled-events': { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; users: { get(args?: RestArguments): Promise; }; }; }; templates: { get(args?: RestArguments): Promise; post(args: RestArguments): Promise; (code: string): { put(args: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; }; }; } interface InteractionRoutes { interactions: { (id: string): { (token: string): { callback: { post(args: RestArguments): Promise; }; }; }; }; } interface InviteRoutes { invites(id: string): { get(args?: RestArguments): Promise; delete(args?: RestArguments): Promise; }; } interface StageInstanceRoutes { 'stage-instances': { post(args: RestArguments): Promise; (id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; } interface StickerRoutes { stickers(id: string): { get(args?: RestArguments): Promise; }; 'sticker-packs': { get(args?: RestArguments): Promise; }; } interface UserRoutes { users: { (id: string): { get(args?: RestArguments): Promise; }; (id: '@me'): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; guilds: { get(args?: RestArguments): Promise; (id: string): { member: { get(args?: RestArguments): Promise; }; delete(args?: RestArguments): Promise; }; }; channels: { post(args: RestArguments): Promise; }; connections: { get(args?: RestArguments): Promise; }; applications(applicationId: string): { 'role-connection': { get(args?: RestArguments): Promise; put(args: RestArguments): Promise; }; }; }; }; } interface VoiceRoutes { voice: { region: { get(args?: RestArguments): Promise; }; }; } interface WebhookRoutes { webhooks(id: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; (token: string): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; post(args: RestArguments): Promise; slack: { post(args: RestArguments): Promise; }; github: { post(args: RestArguments): Promise; }; messages: { (id: string | '@original'): { get(args?: RestArguments): Promise; patch(args: RestArguments): Promise; delete(args?: RestArguments): Promise; }; }; }; }; } type Routes = ApplicationRoutes & ChannelRoutes & GatewayRoutes & GuildRoutes & InteractionRoutes & InviteRoutes & StageInstanceRoutes & StickerRoutes & UserRoutes & VoiceRoutes & WebhookRoutes; interface CDNRoutes { embed: { avatars: { get(embed: UserAvatarDefault): string; }; }; avatars(id: string): { get(hash: string): string; }; icons(guildId: string): { get(hash: string): string; }; splashes(guildId: string): { get(hash: string): string; }; 'discovery-splashes'(guidId: string): { get(hash: string): string; }; banners(id: string): { get(hash: string): string; }; guilds(id: string): { users(id: string): { avatars(hash: string): { get(): string; }; banners(hash: string): { get(): string; }; }; }; emojis(id: string): { get(): string; }; appIcons(appId: string): { get(iconOrCover: string): string; }; 'app-assets'(appId: string): { get(asset: string): string; achievements(id: string): { icons(hash: string): { get(): string; }; }; }; 'team-icons'(teamId: string): { get(hash: string): string; }; stickers(id: string): { get(): string; }; 'role-icons'(roleId: string): { get(icon: string): string; }; 'guild-events'(id: string): { get(cover: string): string; }; } interface CDNRoutes { 'app-assets'(id: '710982414301790216'): { store(packBannerId: string): { get(): string; }; }; } type UserAvatarDefault = 1 | 2 | 3 | 4 | 5 | number; export { BiscuitREST, BiscuitRESTOptions, CDN, CDNRoutes, RequestMethod, RequestObject, RequestOptions, RestArguments, Router, Routes, UserAvatarDefault };