import { IUniversalConverterOptions, ModelToSqlConverter, ValueConverter, ObjectToSqlConverter, IColumnDescriptor, IModelDescriptor } from './interfaces.js'; import { ModelBase } from './model.js'; export declare class JsonValueConverter extends ValueConverter { /** * Converts value to database type * * @param value - value to convert */ toDB(value: any): any; /** * Converts value from database type eg. mysql timestamp to DateTime * * @param value - value to convert */ fromDB(value: any): any; } /** * UUid converter to & from db as binary */ export declare class UuidConverter extends ValueConverter { toDB(value: string): Buffer | null; fromDB(value: Buffer | string): string | null; } /** * Universal converter for "type column" tables - text columns whose runtime * type is decided by a sibling column (named by `options.TypeColumn`). * * Values are stored & read in canonical form: numbers as decimal text, booleans * as `'true'` / `'false'`, dates / times / datetimes as ISO 8601, json as JSON. */ export declare class UniversalValueConverter extends ValueConverter { toDB(value: any, model: ModelBase, _column: IColumnDescriptor, options: IUniversalConverterOptions): any; fromDB(value: any, raw: any, options: IUniversalConverterOptions): any; } export declare class StandardModelToSqlConverter extends ModelToSqlConverter { toSql(model: ModelBase): unknown; } export declare class StandardObjectToSqlConverter extends ObjectToSqlConverter { toSql(model: unknown, descriptor: IModelDescriptor): unknown; } //# sourceMappingURL=converters.d.ts.map