import type { IEmailDomainConfig } from './interfaces.js'; /** * Registry for email domain configurations * Provides fast lookups and validation for domains */ export declare class DomainRegistry { private domains; private defaults; constructor(domainConfigs: IEmailDomainConfig[], defaults?: { dnsMode?: 'forward' | 'internal-dns' | 'external-dns'; dkim?: IEmailDomainConfig['dkim']; rateLimits?: IEmailDomainConfig['rateLimits']; }); /** * Get default DKIM configuration */ private getDefaultDkimConfig; /** * Apply defaults to a domain configuration */ private applyDefaults; /** * Check if a domain is registered */ isDomainRegistered(domain: string): boolean; /** * Check if an email address belongs to a registered domain */ isEmailRegistered(email: string): boolean; /** * Get domain configuration */ getDomainConfig(domain: string): IEmailDomainConfig | undefined; /** * Get domain configuration for an email address */ getEmailDomainConfig(email: string): IEmailDomainConfig | undefined; /** * Extract domain from email address */ private extractDomain; /** * Get all registered domains */ getAllDomains(): string[]; /** * Get all domain configurations */ getAllConfigs(): IEmailDomainConfig[]; /** * Get domains by DNS mode */ getDomainsByMode(mode: 'forward' | 'internal-dns' | 'external-dns'): IEmailDomainConfig[]; }