import type { RequestError } from "@octokit/request-error"; import type { EventNames } from "./generated/event-names"; import { GetWebhookPayloadTypeFromEvent } from "./generated/get-webhook-payload-type-from-event"; export interface WebhookEvent { id: string; name: EventNames.StringNames; payload: T; } export interface Options { path?: string; secret?: string; transform?: TransformMethod; } declare type TransformMethod = (event: WebhookEvent) => T | PromiseLike; export declare type HandlerFunction = (event: GetWebhookPayloadTypeFromEvent) => any; declare type Hooks = { [key: string]: Function[]; }; export interface State extends Options { eventHandler?: any; hooks: Hooks; } /** * Error object with optional poperties coming from `octokit.request` errors */ export declare type WebhookError = Error & Partial & { /** * @deprecated `error.event` is deprecated. Use the `.event` property on the aggregated error instance */ event: WebhookEvent; }; export interface WebhookEventHandlerError extends AggregateError { event: WebhookEvent; /** * @deprecated `error.errors` is deprecated. Use `Array.from(error)`. See https://npm.im/aggregate-error */ errors: WebhookError[]; } /** * Workaround for TypeScript incompatibility with types exported by aggregate-error. * Credit: https://git.io/JUEEr * @copyright Sindre Sorhus * @license MIT (https://git.io/JUEEK) * @see https://github.com/octokit/webhooks.js/pull/270/files */ declare class AggregateError extends Error implements Iterable { readonly name: "AggregateError"; constructor(errors: ReadonlyArray); [Symbol.iterator](): IterableIterator; } export {};