/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `unit` recipe: injects a USPS Pub-28 C2 secondary-unit designator into real US OpenAddresses * skeletons, varying the surface form and the unit's position per row. * * `--golden` emits the held-out Vermont eval (`{raw, components, country}`) with a different * seed. Train uses every non-Vermont US source. `--count` bounds the output and leaves the input unbounded. */ import type { ComponentTag } from "@mailwoman/codex/component"; import { type CorpusRecipe } from "#recipes/scaffold"; /** * A real US tuple read out of a cached OA zip (number/street/city/postcode + the bare OA unit id). */ export interface UnitTuple { house_number: string; street: string; locality: string; region: string; postcode: string; oaUnit: string; } /** * Build an injected unit string ("Apt 4B"), varying canonical vs approved-abbrev form per row. */ export declare function makeUnit(random: () => number, oaUnit: string): string; /** * Render a unit row in a random layout, spreading units across positions * and varying the surrounding surface. */ export declare function renderUnit(random: () => number, base: UnitTuple, unit: string): { fmt: string; raw: string; components: Partial>; }; /** * Recipe registered with the corpus builder. */ export declare const unitRecipe: CorpusRecipe; //# sourceMappingURL=unit.d.ts.map