/** * Custom type mapper for bidirectional data transformation */ export interface TypeMapper { /** * Convert from application data type to database driver type */ toDriver(value: TData | null | undefined): TDriver | null; /** * Convert from database driver type to application data type */ fromDriver(value: TDriver | null | undefined): TData | null; /** * Optional: Get the PostgreSQL data type for schema generation */ dataType?: () => string; } /** * Custom type definition with mapper */ export interface CustomTypeDefinition { dataType: () => string; toDriver: (value: TData | null | undefined) => TDriver | null; fromDriver: (value: TDriver | null | undefined) => TData | null; } /** * Create a custom type mapper */ export declare function customType(config: CustomTypeDefinition): TypeMapper; /** * Identity mapper (no transformation) */ export declare const identityMapper: TypeMapper; /** * Apply a mapper to a value (toDriver direction) */ export declare function applyToDriver(mapper: TypeMapper | undefined, value: TData | null | undefined): TDriver | null; /** * Apply a mapper to a value (fromDriver direction) */ export declare function applyFromDriver(mapper: TypeMapper | undefined, value: TDriver | null | undefined): TData | null; /** * Apply mapper to array of values */ export declare function applyFromDriverArray(mapper: TypeMapper | undefined, values: (TDriver | null)[]): (TData | null)[]; //# sourceMappingURL=type-mapper.d.ts.map