/**
 * Email Alias Detection Module
 *
 * Detects and normalizes email aliases using provider-specific rules for
 * case, plus-addressing, and dots. Domain part is always lowercased (RFC 5321).
 */
export interface AliasDetectionResult {
    /** The normalized/canonical email address */
    canonical: string;
    /** The original email address */
    original: string;
    /** Whether an alias was detected */
    isAlias: boolean;
    /** Type of alias detected */
    aliasType: 'plus' | 'dot' | 'none';
    /** The alias part (if any) */
    aliasPart?: string;
    /** The provider that supports this alias type */
    provider?: string;
}
export interface NormalizeEmailOptions {
    /**
     * Skip structural/IDN re-validation when the caller already validated the email.
     * Used by the detection hot path to avoid duplicate work.
     */
    alreadyValidated?: boolean;
    /**
     * Optional pre-computed punycode domain (avoids re-encoding).
     */
    punycodeDomain?: string;
}
/**
 * Detects and analyzes email aliases according to provider-specific rules.
 */
export declare function detectEmailAlias(email: string, options?: NormalizeEmailOptions): AliasDetectionResult;
/**
 * Normalizes an email address to its canonical form.
 */
export declare function normalizeEmail(email: string, options?: NormalizeEmailOptions): string;
/**
 * Checks if two email addresses are the same when normalized.
 */
export declare function emailsMatch(email1: string, email2: string): boolean;
//# sourceMappingURL=alias-detection.d.ts.map