import type { RESTDeleteAPIChannelAllMessageReactionsResult, RESTDeleteAPIChannelMessageReactionResult, RESTDeleteAPIChannelMessageResult, RESTDeleteAPIChannelPermissionResult, RESTDeleteAPIChannelPinResult, RESTDeleteAPIChannelRecipientResult, RESTDeleteAPIChannelResult, RESTDeleteAPIChannelThreadMembersResult, RESTGetAPIChannelInvitesResult, RESTGetAPIChannelMessageReactionUsersQuery, RESTGetAPIChannelMessageReactionUsersResult, RESTGetAPIChannelMessageResult, RESTGetAPIChannelMessagesQuery, RESTGetAPIChannelMessagesResult, RESTGetAPIChannelPinsResult, RESTGetAPIChannelResult, RESTGetAPIChannelThreadMemberQuery, RESTGetAPIChannelThreadMemberResult, RESTGetAPIChannelThreadMembersQuery, RESTGetAPIChannelThreadMembersResult, RESTGetAPIChannelThreadsArchivedPrivateResult, RESTGetAPIChannelThreadsArchivedPublicResult, RESTGetAPIChannelThreadsArchivedQuery, RESTGetAPIChannelUsersThreadsArchivedResult, RESTGetAPIGuildWebhooksResult, RESTGetAPIPollAnswerVotersQuery, RESTGetAPIPollAnswerVotersResult, RESTPatchAPIChannelJSONBody, RESTPatchAPIChannelMessageJSONBody, RESTPatchAPIChannelMessageResult, RESTPatchAPIChannelResult, RESTPostAPIChannelFollowersJSONBody, RESTPostAPIChannelFollowersResult, RESTPostAPIChannelInviteJSONBody, RESTPostAPIChannelInviteResult, RESTPostAPIChannelMessageCrosspostResult, RESTPostAPIChannelMessageJSONBody, RESTPostAPIChannelMessageResult, RESTPostAPIChannelMessagesBulkDeleteJSONBody, RESTPostAPIChannelMessagesBulkDeleteResult, RESTPostAPIChannelMessagesThreadsJSONBody, RESTPostAPIChannelMessagesThreadsResult, RESTPostAPIChannelThreadsJSONBody, RESTPostAPIChannelThreadsResult, RESTPostAPIChannelTypingResult, RESTPostAPIChannelWebhookJSONBody, RESTPostAPIChannelWebhookResult, RESTPostAPIGuildForumThreadsJSONBody, RESTPostAPIPollExpireResult, RESTPutAPIChannelMessageReactionResult, RESTPutAPIChannelPermissionJSONBody, RESTPutAPIChannelPermissionResult, RESTPutAPIChannelPinResult, RESTPutAPIChannelRecipientJSONBody, RESTPutAPIChannelRecipientResult, RESTPutAPIChannelThreadMembersResult, } from 'discord-api-types/v10'; import type { ProxyRequestMethod } from '../Router'; import type { RestArguments } from '../api'; export 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< ProxyRequestMethod.Post, RESTPostAPIChannelThreadsJSONBody | RESTPostAPIGuildForumThreadsJSONBody >, ): 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; }; 'voice-status': { put(args: RestArguments): Promise; }; polls(messageId: string): { answers(id: ValidAnswerId): { get( args?: RestArguments, ): Promise; }; expire: { post(args?: RestArguments): Promise; }; }; }; } export type ValidAnswerId = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;