/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * PO box / PMB / Apartado / BP synthesizer adapter. It emits {@linkcode PO_BOX_ADAPTER_ID}. * * A PO box delivery line is mutually exclusive with a street line (USPS Pub 28 / DMM 508), so rows * are generated fresh from a tuple rather than by mutating a street row. */ import { type PoBoxBaseTuple } from "#synthesizers/po-box"; import { type CorpusAdapter } from "#types"; /** * Registry id stamped into every row this adapter emits, so a corpus record traces back to its dataset. * * The value comes from `RECIPE_SOURCES` because `recipes/po/box/index.ts` writes rows under the same id. * Two producers of one id have to spell it the same way, or a rewrite of a corpus through that table * moves the recipe's rows and leaves this adapter's behind under a name the table no longer answers for. */ export declare const PO_BOX_ADAPTER_ID: string; /** * License for synthetic PO-box rows. * * They inherit the terms of the real tuples used to derive them. * * The value is stored in each row's `license` column and read by `licenseNamedIn`, * so it stays byte-for-byte. */ export declare const PO_BOX_LICENSE = "Synthetic \u2014 derived from CC-BY / public-domain input tuples"; export interface PoBoxInputRow extends PoBoxBaseTuple { street?: string; houseNumber?: string; } export interface PoBoxAdapterOptions { /** * How many PO box variants to emit per input tuple, each picking a different leader * (and possibly a different number or noise level); default 1. */ variantsPerInput?: number; /** * Probability (0..1) of emitting a PMB-with-street variant when the input has * a street and the locale supports PMB. * The default is 0.15. */ pmbRatio?: number; /** * Deterministic seed for reproducible synthesis. * The default is `Date.now()`. */ seed?: number; /** * Probability (0..1) per input tuple of additionally emitting one self-contained US * military/diplomatic PO-box row, so military volume scales with the input stream. * The default is 0. */ militaryRatio?: number; } export declare function createPoBoxAdapter(opts?: PoBoxAdapterOptions): CorpusAdapter; /** * The configured adapter instance registered with the corpus builder. */ export declare const poBoxAdapter: CorpusAdapter; //# sourceMappingURL=adapter.d.ts.map