/**
 * Pure builders for the webhook event envelope (D0045: zero I/O, in the kernel).
 * `projectReport` denormalizes the routing-friendly slice of a Report;
 * `buildWebhookEnvelope` wraps it with delivery metadata. The caller stamps
 * `deliveredAt` (passed in for deterministic tests) and supplies the events.
 */
import type { EventType } from "../../ailf-shared/index.d.ts";
import type { Report } from "../types/index.js";
import type { WebhookEventEnvelope, WebhookEventReport } from "../types/webhook-event.js";
export declare function projectReport(report: Report, link?: string): WebhookEventReport;
export declare function buildWebhookEnvelope(input: {
    report: WebhookEventReport;
    events: EventType[];
    surface: "per-run" | "subscription";
    deliveredAt: string;
    jobId?: string;
    summary?: unknown;
}): WebhookEventEnvelope;
