import type { AddressInput, NestedArray, NormalizedAddress, ParsedAddress, ParsedAddressEntry, ValidatedAddressList, } from "../types"; import Headers = require("@zone-eu/mailsplit/lib/headers"); import type { RatioItem } from "../types"; export function validateAddress(headers: Headers, key: string): ValidatedAddressList; export function convertAddresses( addresses: AddressInput[], withNames: true, addressList?: Map ): Map; export function convertAddresses( addresses: AddressInput[], withNames?: false, addressList?: Map ): Map; export function convertAddresses( addresses: AddressInput[], withNames?: boolean, addressList?: Map ): Map; export function parseAddressList( headers: Headers, key: string, withNames: true ): ParsedAddress[]; export function parseAddressList( headers: Headers, key: string, withNames?: false ): string[]; export function parseAddressList( headers: Headers, key: string, withNames?: boolean ): NormalizedAddress[]; export function parseAddresses( headerList: AddressInput[], withNames: true ): ParsedAddress[]; export function parseAddresses( headerList: AddressInput[], withNames?: false ): string[]; export function parseAddresses( headerList: AddressInput[], withNames?: boolean ): NormalizedAddress[]; export function normalizeDomain(domain: string): string; export function normalizeAddress(address: string | ParsedAddress, withNames: true): ParsedAddress | ""; export function normalizeAddress(address: string | ParsedAddress, withNames?: false): string; export function flatten(arr: NestedArray[]): T[]; export function divideLoad(pool: T[]): T[];