/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. */ import type { ComponentTag } from "@mailwoman/codex/component"; import { type CorpusRecipe } from "#recipes/scaffold"; interface USTuple { house_number: string; street: string; locality: string; region: string; postcode: string; base_source_id: string; } /** * The two street shapes that the suffix-boundary recipe balances. * * In a `terminal-only` street, a name-prone suffix word precedes the real suffix and belongs to the name. * In a `terminal-contrast` street, the name-prone word is itself the final suffix. */ export type SuffixBoundaryClass = "terminal-only" | "terminal-contrast"; /** * Classifies a street as `terminal-only` or `terminal-contrast`, or returns `null` when it is neither. * * A street whose final word is name-prone is `terminal-contrast` even when the word * before it is also name-prone, because only the final token is the suffix. */ export declare function classifySuffixBoundaryStreet(street: string): SuffixBoundaryClass | null; interface RenderRowOpts { venues?: readonly string[]; cutoffs?: readonly [number, number, number]; } /** * Places a rendered street in a full, bare, street-only, or venue-prefixed address. * * The `cutoffs` option sets the cumulative probabilities of the first three formats. * The remainder produces venue-prefixed rows. */ export declare function renderRow(random: () => number, base: USTuple, street: string, streetComponents: Partial>, opts?: RenderRowOpts): { fmt: string; raw: string; components: Partial>; }; /** * Generates US rows that split OpenAddresses streets into `street_prefix`, `street` and `street_suffix`. * * The `--multilocale-count` option appends FR, DE, IT and NL rows in native order without affix labels. */ export declare const streetAffixRecipe: CorpusRecipe; /** * Generates US rows that teach where a street name ends and its suffix begins. * * The recipe targets 80% `terminal-only` and 20% `terminal-contrast` streets. * It draws training rows from non-Vermont OpenAddresses streets and reserves Vermont for the golden set. */ export declare const suffixBoundaryRecipe: CorpusRecipe; export {}; //# sourceMappingURL=affix.d.ts.map