import type { Mailer } from "./mailer.js";
import { SendEvent, type Message, type SendInterceptor } from "./mailer.js";
export declare const SMTPAuthPlain = "PLAIN";
export declare const SMTPAuthLogin = "LOGIN";
export type SMTPServerInfo = {
    TLS: boolean;
    Name: string;
};
export declare class SMTPClient implements Mailer, SendInterceptor {
    #private;
    Host: string;
    Port: number;
    Username: string;
    Password: string;
    TLS: boolean;
    AuthMethod: string;
    LocalName: string;
    OnSend(): import("../hook/hook.js").Hook<SendEvent>;
    Send(message: Message): Promise<Error | null>;
    private send;
}
export declare class smtpLoginAuth {
    username: string;
    password: string;
    constructor(username: string, password: string);
    Start(server: SMTPServerInfo): [string, Uint8Array, Error | null];
    Next(fromServer: Uint8Array, more: boolean): [Uint8Array, Error | null];
}
export declare function isLocalhost(name: string): boolean;
