import { Context } from "hono";
import { Bindings, Variables } from "../types";
import { AuthParams, User } from "@authhero/adapter-interfaces";
export type SendEmailParams = {
    to: string;
    subject: string;
    html?: string;
    text?: string;
    template: string;
    data: Record<string, string>;
    from?: string;
};
export declare function sendEmail(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, params: SendEmailParams): Promise<void>;
export type SendSmsParams = {
    to: string;
    from?: string;
    text: string;
    code: string;
};
export declare function sendSms(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, params: SendSmsParams): Promise<void>;
export declare function sendResetPassword(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, to: string, code: string, state?: string, language?: string, routePrefix?: string): Promise<void>;
export declare function sendResetPasswordCode(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, to: string, code: string, language?: string): Promise<void>;
export interface SendCodeParams {
    to: string;
    code: string;
    language?: string;
}
export interface SendLinkParams extends SendCodeParams {
    authParams: AuthParams;
}
export declare function sendCode(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, { to, code, language }: SendCodeParams): Promise<void>;
export declare function sendLink(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, { to, code, authParams, language }: SendLinkParams): Promise<void>;
export declare function sendValidateEmailAddress(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, user: User, language?: string): Promise<void>;
export declare function sendSignupValidateEmailAddress(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, to: string, code: string, state: string, language?: string): Promise<void>;
export interface SendInvitationParams {
    to: string;
    invitationUrl: string;
    inviterName?: string;
    organizationName: string;
    ttlSec: number;
    language?: string;
}
export declare function sendInvitation(ctx: Context<{
    Bindings: Bindings;
    Variables: Variables;
}>, { to, invitationUrl, inviterName, organizationName, ttlSec, language, }: SendInvitationParams): Promise<void>;
