/**
 * @copyright Sister Software
 * @license AGPL-3.0
 * @author Teffen Ellis, et al.
 */
import { ClassificationRecord } from "mailwoman";
import { Classification, Classifier, LibPostalLanguageCode } from "mailwoman/core";
import test from "tape";
/**
 * Global test parser instance.
 */
export declare const parser: import("mailwoman").AddressParser;
export declare function assert(input: string, ...expectedClassifications: ClassificationRecord[]): Promise<void>;
/**
 * Assert that two items are deeply equal after JSON serialization.
 *
 * @param t - The test object.
 * @param actual - The actual item.
 * @param expected - The expected item.
 * @param message - The message to display.
 */
export declare function assertDeepSerialized(t: test.Test, actual: unknown, expected: unknown, message?: string): void;
/**
 * Given two iterables, zip them together into a single iterable which yields pairs of elements.
 *
 * If one iterable is longer than the other, the shorter iterable will be padded with `undefined`.
 */
export declare function zip<T, U>(a: Iterable<T>, b: Iterable<U>): Generator<[a: T | undefined, b: U | undefined, idx: number]>;
/**
 * Given two iterables, assert that they are congruent, i.e. that they have the same elements in the
 * same order.
 */
export declare function assertCongruent<Item>(t: test.Test, actualItemIterators: Iterable<Iterable<Item>>, ...expectedItemIterators: Iterable<Item>[]): void;
export type ExpectedClassificationEntry = [
    input: string,
    Iterable<LibPostalLanguageCode>,
    expectPositiveMatch?: boolean
];
/**
 * Assert that a classifier correctly classifies a set of inputs.
 */
export declare function assertClassification(classifier: Classifier, classificationTarget: Classification, expectations: ExpectedClassificationEntry[]): void;
//# sourceMappingURL=index.d.ts.map