import type { RESTDeleteAPIWebhookResult, RESTDeleteAPIWebhookWithTokenMessageResult, RESTDeleteAPIWebhookWithTokenResult, RESTGetAPIWebhookResult, RESTGetAPIWebhookWithTokenMessageResult, RESTGetAPIWebhookWithTokenResult, RESTPatchAPIWebhookJSONBody, RESTPatchAPIWebhookResult, RESTPatchAPIWebhookWithTokenJSONBody, RESTPatchAPIWebhookWithTokenMessageJSONBody, RESTPatchAPIWebhookWithTokenMessageResult, RESTPatchAPIWebhookWithTokenResult, RESTPostAPIWebhookWithTokenGitHubQuery, RESTPostAPIWebhookWithTokenGitHubResult, RESTPostAPIWebhookWithTokenGitHubWaitResult, RESTPostAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenQuery, RESTPostAPIWebhookWithTokenResult, RESTPostAPIWebhookWithTokenSlackQuery, RESTPostAPIWebhookWithTokenSlackResult, RESTPostAPIWebhookWithTokenSlackWaitResult, RESTPostAPIWebhookWithTokenWaitResult, } from '../../types'; import type { ProxyRequestMethod } from '../Router'; import type { RestArguments } from '../api'; export 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< ProxyRequestMethod.Post, RESTPostAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenQuery >, ): Promise; slack: { post( args: RestArguments< ProxyRequestMethod.Post, RESTPostAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenSlackQuery >, ): Promise; }; github: { post( args: RestArguments< ProxyRequestMethod.Post, RESTPostAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenGitHubQuery >, ): Promise; }; messages: (id: (string & {}) | '@original') => { get(args?: RestArguments): Promise; patch( args: RestArguments, ): Promise; delete(args?: RestArguments): Promise; }; }; }; }