import type { UIDLEcommerceCategory } from '@teleporthq/teleport-types'; export type TransformationType = 'blog-post' | 'ecommerce-product' | null; /** * Detects which transformation type to apply based on the table name. * Returns null if no transformation is needed. * * IMPORTANT: Only the real platform-managed tables (`teleport_products`, * `teleport_blog_posts`) are routed through the e-commerce/blog view-model * transforms. A previous loose substring match (`lower.includes('products')`) * incorrectly routed CUSTOM tables such as `products`, `store_products` or * `wholesale_products` through `buildEcommerceProduct`, which emits a fixed set * of platform product fields and silently drops all custom columns. Matching the * exact platform table name prevents that data loss. */ export declare const detectTransformationType: (tableName: string) => TransformationType; /** * Returns the full transformation code (shared utils + specific transformer) * to be included in the generated data source fetcher file. * Returns empty string if no transformation is needed for this table. */ export declare const getTransformationCode: (tableName: string, categories?: UIDLEcommerceCategory[]) => string; /** * Returns the JavaScript expression that transforms the data array. * This expression assumes the data array variable is called `safeData`, * that `getClient` is available for asset resolution, and that `req` is in scope. * Returns null if no transformation is needed. */ export declare const getTransformExpression: (tableName: string) => string | null; /** * Returns the transform wrapper function code that handles asset map loading * and calls the appropriate transformer. * Returns empty string if no transformation is needed. */ export declare const getTransformWrapperCode: (tableName: string) => string; //# sourceMappingURL=index.d.ts.map