/** * Common options for all column decorators */ export type BaseColumnOptions = { /** * The column name in the database */ columnName?: string; /** * Whether to serialize this column */ serialize?: boolean; /** * The name to use for this column when serializing * If string: use this name when serializing * If null: don't include this column when serializing */ serializeAs?: string | null; /** * Function to transform the value before saving to database */ prepare?: ((value: any) => any); /** * Function to transform the value when loading from database */ consume?: ((value: any) => any); }; /** * Options for the standard column decorator */ export type ColumnOptions = BaseColumnOptions & { /** * Whether this column is the primary key */ isPrimary?: boolean; }; /** * Options for the dateTime decorator */ export type DateTimeOptions = BaseColumnOptions & { /** * Whether to automatically set the value when creating a new record */ autoCreate?: boolean; /** * Whether to automatically update the value when updating a record */ autoUpdate?: boolean; }; /** * Decorator to define a model column */ export declare function column(options?: ColumnOptions): PropertyDecorator; /** * Add the dateTime decorator to the column namespace */ export declare namespace column { /** * Decorator for DateTime columns with auto-create and auto-update functionality */ function dateTime(options?: DateTimeOptions): PropertyDecorator; } /** * Options for the computed decorator */ export type ComputedOptions = { /** * Whether to serialize this computed property */ serialize?: boolean; /** * The name to use for this property when serializing * If string: use this name when serializing * If null: don't include this property when serializing */ serializeAs?: string | null; }; /** * Decorator to define a computed property */ export declare function computed(options?: ComputedOptions): PropertyDecorator;