/**
 * Core serverless email validator
 * Platform-agnostic implementation without Node.js dependencies
 */
import type { DomainSuggesterOptions, EmailValidationResult, ValidateEmailOptions } from '../types';
export declare class EdgeCache<T> {
    private cache;
    private maxSize;
    private ttl;
    constructor(maxSize?: number, ttl?: number);
    get(key: string): T | undefined;
    set(key: string, value: T): void;
    clear(): void;
    size(): number;
}
export declare const validationCache: EdgeCache<EmailValidationResult>;
export declare const mxCache: EdgeCache<string[]>;
export declare const COMMON_DOMAINS: string[];
export interface DNSResolver {
    resolveMx(domain: string): Promise<Array<{
        exchange: string;
        priority: number;
    }>>;
    resolveTxt(domain: string): Promise<string[]>;
}
export declare class StubDNSResolver implements DNSResolver {
    resolveMx(_domain: string): Promise<Array<{
        exchange: string;
        priority: number;
    }>>;
    resolveTxt(_domain: string): Promise<string[]>;
}
export declare function suggestDomain(domain: string, options?: DomainSuggesterOptions): string | null;
export declare function validateEmailCore(email: string, options?: ValidateEmailOptions & {
    dnsResolver?: DNSResolver;
}): Promise<EmailValidationResult>;
export declare function validateEmailBatch(emails: string[], options?: ValidateEmailOptions & {
    dnsResolver?: DNSResolver;
}): Promise<EmailValidationResult[]>;
export declare function clearCache(): void;
export type { DomainSuggesterOptions, EmailValidationResult, ValidateEmailOptions, } from '../types';
