import { Context } from "hono";
import { User } from "@authhero/adapter-interfaces";
import { Bindings, Variables } from "../types";
/**
 * Enqueue a `hook.{triggerId}` event to the outbox so the `WebhookDestination`
 * (and future `CodeHookDestination`) can dispatch the hook asynchronously with
 * retries instead of firing inline while the request is being served.
 *
 * Mirrors the synchronous-push pattern used by `logMessage`: the promise from
 * `outbox.create` is pushed onto `ctx.var.outboxEventPromises` so the outbox
 * middleware can await it in its finally block and then relay the resulting
 * event IDs.
 *
 * When the outbox is not configured, falls back to inline webhook invocation
 * (via `waitUntil`) so tenants without outbox still receive webhook calls.
 */
export declare function enqueuePostHookEvent(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, tenantId: string, triggerId: string, user: User): void;
