import { Logger } from '@n8n/backend-common'; import type { IExecutionResponse } from '@n8n/db'; import type express from 'express'; import { InstanceSettings } from 'n8n-core'; import { type IWorkflowBase, Workflow } from 'n8n-workflow'; import { WebhookService } from './webhook.service'; import type { IWebhookManager, IWebhookResponseCallbackData, WaitingWebhookRequest } from './webhook.types'; import { EventService } from '../events/event.service'; import { ExecutionPersistence } from '../executions/execution-persistence'; import { NodeTypes } from '../node-types'; export declare class WaitingWebhooks implements IWebhookManager { protected readonly logger: Logger; protected readonly nodeTypes: NodeTypes; private readonly executionPersistence; private readonly webhookService; protected readonly instanceSettings: InstanceSettings; private readonly eventService; protected includeForms: boolean; constructor(logger: Logger, nodeTypes: NodeTypes, executionPersistence: ExecutionPersistence, webhookService: WebhookService, instanceSettings: InstanceSettings, eventService: EventService); findAccessControlOptions(): Promise<{ allowedOrigins: string; }>; protected logReceivedWebhook(method: string, executionId: string): void; protected disableNode(execution: IExecutionResponse, _method?: string): void; private isSendAndWaitRequest; protected createWorkflow(workflowData: IWorkflowBase): Workflow; protected getExecution(executionId: string): Promise; private parseSignatureParam; protected validateToken(req: express.Request, execution: IExecutionResponse): { valid: boolean; webhookPath?: string; }; protected validateSignature(req: express.Request): { valid: boolean; webhookPath?: string; }; executeWebhook(req: WaitingWebhookRequest, res: express.Response): Promise; private emitExecutionResumedEvent; protected getWebhookExecutionData({ execution, req, res, lastNodeExecuted, executionId, suffix, }: { execution: IExecutionResponse; req: WaitingWebhookRequest; res: express.Response; lastNodeExecuted: string; executionId: string; suffix?: string; }): Promise; }