import { BodyInit } from 'node-fetch'; import { IWebhookApplication } from '../../lib/Application/Base/IWebhookApplication'; import { ABasicApplication } from '../../lib/Authorization/Type/Basic/ABasicApplication'; import ProcessDto from '../../lib/Utils/ProcessDto'; import { ApplicationInstall } from '../../lib/Application/Database/ApplicationInstall'; import HttpMethods from '../../lib/Transport/HttpMethods'; import RequestDto from '../../lib/Transport/Curl/RequestDto'; import Form from '../../lib/Application/Model/Form/Form'; import WebhookSubscription from '../../lib/Application/Model/Webhook/WebhookSubscription'; import ResponseDto from '../../lib/Transport/Curl/ResponseDto'; import ApplicationTypeEnum from '../../lib/Application/Base/ApplicationTypeEnum'; export default class TestWebhookApplication extends ABasicApplication implements IWebhookApplication { getDescription: () => string; getName: () => string; getPublicName: () => string; getApplicationType: () => ApplicationTypeEnum; getRequestDto: (dto: ProcessDto, applicationInstall: ApplicationInstall, method: HttpMethods, url?: string, data?: BodyInit) => RequestDto; getSettingsForm: () => Form; getWebhookSubscribeRequestDto: (applicationInstall: ApplicationInstall, subscription: WebhookSubscription, url: string) => RequestDto; getWebhookSubscriptions: () => WebhookSubscription[]; getWebhookUnsubscribeRequestDto: (applicationInstall: ApplicationInstall, id: string) => RequestDto; processWebhookSubscribeResponse: (dto: ResponseDto, applicationInstall: ApplicationInstall) => string; processWebhookUnsubscribeResponse: (dto: ResponseDto) => boolean; }