import type { CommonProviderOptions } from "./index.js";
import type { Awaitable, Theme } from "../types.js";
import type { NodemailerConfig, NodemailerUserConfig } from "./nodemailer.js";
/**
 * @deprecated
 *
 * Import this provider from the `providers/nodemailer` submodule instead of `providers/email`.
 *
 * To log in with nodemailer, change `signIn("email")` to `signIn("nodemailer")`
 */
export default function Email(config: NodemailerUserConfig): NodemailerConfig;
export type EmailProviderType = "email";
export interface EmailConfig extends CommonProviderOptions {
    id: string;
    type: EmailProviderType;
    name: string;
    from: string;
    maxAge: number;
    sendVerificationRequest: (params: {
        identifier: string;
        url: string;
        expires: Date;
        provider: EmailConfig;
        token: string;
        theme: Theme;
        request: Request;
    }) => Awaitable<void>;
    /** Used to hash the verification token. */
    secret?: string;
    /** Used with HTTP-based email providers. */
    apiKey?: string;
    /** Used with SMTP-based email providers. */
    server?: NodemailerConfig["server"];
    generateVerificationToken?: () => Awaitable<string>;
    normalizeIdentifier?: (identifier: string) => string;
    options: EmailUserConfig;
}
export type EmailUserConfig = Omit<Partial<EmailConfig>, "options" | "type">;
/**
 * Email HTML body
 * Insert invisible space into domains from being turned into a hyperlink by email
 * clients like Outlook and Apple mail, as this is confusing because it seems
 * like they are supposed to click on it to sign in.
 *
 * @note We don't add the email address to avoid needing to escape it, if you do, remember to sanitize it!
 */
export declare function html(params: {
    url: string;
    host: string;
    theme: Theme;
}): string;
/** Email Text body (fallback for email clients that don't render HTML, e.g. feature phones) */
export declare function text({ url, host }: {
    url: string;
    host: string;
}): string;
//# sourceMappingURL=email.d.ts.map