import { Context } from "hono";
import { DataAdapters, LoginSession, User } from "@authhero/adapter-interfaces";
import { Bindings, Variables } from "../types";
import { EnrichedClient } from "../helpers/client";
/**
 * Checks for post-user-login hooks (form, page, template, code, or webhook)
 * and handles them in that order. Also:
 *  - logs the successful login,
 *  - increments the user's `login_count`.
 *
 * Delivery reliability for `post-user-registration` is the outbox's concern
 * (retry + dead-letter), not the login path's. Recovery of dead-lettered
 * events is a separate admin/cron responsibility so a user's first login
 * can't double-enqueue while the original event is still pending.
 *
 * Returns either the (possibly updated) user or a `Response` when a hook
 * redirects, takes over the login, or renders a form.
 */
export declare function postUserLoginHook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, data: DataAdapters, tenant_id: string, user: User, loginSession?: LoginSession, params?: {
    client?: EnrichedClient;
    authParams?: any;
    authStrategy?: {
        strategy: string;
        strategy_type: string;
    };
}): Promise<User | Response>;
