import type { FarmIntegrationHandlerContext } from "@farm.js/core"; export interface FarmWebhookEvent { provider: TProvider; id: string; type: TType; data: TData; raw: TRaw; } export interface FarmWebhookContext { request: Request; route: FarmIntegrationHandlerContext; rawBody: string; headers: Headers; webhook: { name: string; path: string; }; } export interface FarmWebhookDefinition { path?: string; secret?: string; onEvent?: (event: TEvent, context: FarmWebhookContext) => void | Promise; onError?: (error: unknown, context: FarmWebhookContext) => Response | void | Promise; } export type FarmWebhookConfig = FarmWebhookDefinition | Record>; export interface FarmNormalizedWebhookDefinition extends FarmWebhookDefinition { name: string; path: string; } export interface FarmWebhookAckResult { received: true; provider: string; webhook: string; eventId: string; type: string; } export declare function normalizeWebhookConfig(input: { webhooks?: FarmWebhookConfig; defaultName: string; defaultPath: string; defaultSecret?: string; }): FarmNormalizedWebhookDefinition[]; //# sourceMappingURL=webhooks.d.ts.map