import { DataAdapters, Hook, User } from "@authhero/adapter-interfaces";
import { Context } from "hono";
import { Variables, Bindings } from "../types";
export declare function invokeHooks(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, hooks: Hook[], data: any & {
    tenant_id: string;
}): Promise<void>;
export declare function postUserRegistrationWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>): (tenant_id: string, user: User) => Promise<User>;
export declare function preUserRegistrationWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>): (tenant_id: string, email: string) => Promise<void>;
export declare const preUserSignupWebhook: typeof preUserRegistrationWebhook;
export declare function postUserLoginWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, data: DataAdapters): (tenant_id: string, user: User) => Promise<User>;
export declare function getValidateRegistrationUsernameWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, tenant_id: string): Promise<Hook | null>;
export declare const getValidateSignupEmailWebhook: typeof getValidateRegistrationUsernameWebhook;
export declare function preUserDeletionWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>): (tenant_id: string, user: User) => Promise<User>;
export declare function postUserDeletionWebhook(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>): (tenant_id: string, user: User) => Promise<User>;
