import { FakeData as CoreFakeData } from "../../core/src/fakeData.js"; import type { FieldDefinition } from "./types.js"; /** * True when the table/model name looks like a product catalogue, so a generic * `name` column should seed a product name, not a person name. With NO table * context (undefined/null/empty) this is false, so the person-name default is * kept — back-compat. Exported (not via the barrel) so seeding tests can assert * it directly, mirroring the Python master's `_is_product_table`. */ export declare function isProductTable(table?: string | null): boolean; /** * ORM-aware FakeData — wraps the core FakeData and adds forField() * which generates appropriate fake data based on an ORM FieldDefinition. */ export declare class FakeData extends CoreFakeData { constructor(seed?: number); /** * Generate a Date object within a year range. * Matches the Python API's datetime() method. */ datetime(startYear?: number, endYear?: number): Date; private heuristicValue; private stringValue; private typedValue; /** * Generate a fake value appropriate for an ORM field definition. * Respects min/max, minLength/maxLength, and type constraints. * * @param fieldDef - An ORM FieldDefinition object * @param columnName - Optional column name for heuristic matching (e.g. "email", "phone") * @param table - Optional table/model name. A generic `name`/`full_name` * column on a product-ish table (see {@link isProductTable}) gets a * product name; with no table context it stays a person name (back-compat). */ forField(fieldDef: FieldDefinition, columnName?: string, table?: string): unknown; }