functional-models 2.1.5 → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/properties.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ModelReference, Maybe, PrimaryKeyType, Model, PropertyInstance, FunctionalValue, PropertyConfig, ValueGetter, MaybeFunction, Arrayable, PropertyValidator, ModelReferencePropertyInstance, FunctionalModel, JsonAble, PropertyModifier, TypedJsonObj } from './interfaces';
1
+ import { ModelReference, Maybe, PrimaryKeyType, Model, PropertyInstance, FunctionalValue, PropertyConfig, ValueGetter, MaybeFunction, Arrayable, PropertyValidator, ModelReferencePropertyInstance, FunctionalModel, JsonAble, PropertyModifier, TypedJsonObj, CalculateDenormalization } from './interfaces';
2
2
  declare const Property: <TValue extends Arrayable<FunctionalValue>, T extends FunctionalModel = FunctionalModel, TModel extends Readonly<{
3
3
  getName: () => string;
4
4
  getSingularName: () => string;
@@ -2039,7 +2039,7 @@ declare const Property: <TValue extends Arrayable<FunctionalValue>, T extends Fu
2039
2039
  /**
2040
2040
  * Config object for a date property
2041
2041
  */
2042
- declare type DatePropertyConfig<T> = PropertyConfig<T> & {
2042
+ declare type DatePropertyConfig<T extends Arrayable<FunctionalValue>> = PropertyConfig<T> & {
2043
2043
  /**
2044
2044
  * A date-fns format.
2045
2045
  */
@@ -2055,6 +2055,7 @@ declare type DatePropertyConfig<T> = PropertyConfig<T> & {
2055
2055
  declare const DateProperty: <TModifier extends PropertyModifier<string | Date>>(config?: Readonly<{
2056
2056
  type?: string | undefined;
2057
2057
  defaultValue?: TModifier | undefined;
2058
+ isDenormalized?: boolean | undefined;
2058
2059
  value?: TModifier | undefined;
2059
2060
  choices?: readonly (string | number | boolean | null)[] | undefined;
2060
2061
  lazyLoadMethod?: (<TData extends FunctionalModel>(value: TModifier, modelData: TData) => import("./interfaces").MaybeLazy<TModifier>) | undefined;
@@ -20883,6 +20884,1915 @@ declare const AdvancedModelReferenceProperty: <T extends FunctionalModel, TModel
20883
20884
  validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<T>>;
20884
20885
  getModel: () => Readonly<any>;
20885
20886
  }>>>>(model: MaybeFunction<TModel>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, TModifier, TModel, TModelInstance>;
20887
+ /**
20888
+ * A property for denormalizing values.
20889
+ * @param propertyType - A property type.
20890
+ * @param calculate - A function for calculating the denormalized value.
20891
+ * @param config - A Config
20892
+ * @param additionalMetadata _ Any additional metadata.
20893
+ * @constructor
20894
+ */
20895
+ declare const DenormalizedProperty: <T extends FunctionalValue, TModel extends FunctionalModel>(propertyType: string, calculate: CalculateDenormalization<T, TModel>, config?: PropertyConfig<T>, additionalMetadata?: {}) => Readonly<{
20896
+ getConfig: () => object;
20897
+ getChoices: () => readonly (string | number | boolean | null)[];
20898
+ getDefaultValue: () => T;
20899
+ getConstantValue: () => T;
20900
+ getPropertyType: () => string;
20901
+ createGetter: (value: T, modelData: FunctionalModel, modelInstance: Readonly<{
20902
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
20903
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
20904
+ };
20905
+ references: Readonly<{
20906
+ [s: string]: () => Maybe<PrimaryKeyType>;
20907
+ }>;
20908
+ toObj: import("./interfaces").toObj<FunctionalModel>;
20909
+ getPrimaryKeyName: () => string;
20910
+ getPrimaryKey: () => PrimaryKeyType;
20911
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
20912
+ getName: () => string;
20913
+ getSingularName: () => string;
20914
+ getDisplayName: () => string;
20915
+ getPrimaryKeyName: () => string;
20916
+ getModelDefinition: () => Readonly<{
20917
+ getPrimaryKeyName?: (() => string) | undefined;
20918
+ properties: any & {
20919
+ readonly [x: string]: Readonly<{
20920
+ getConfig: () => object;
20921
+ getChoices: () => readonly (string | number | boolean | null)[];
20922
+ getDefaultValue: () => any;
20923
+ getConstantValue: () => any;
20924
+ getPropertyType: () => string;
20925
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
20926
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
20927
+ }>;
20928
+ readonly id?: Readonly<{
20929
+ getConfig: () => object;
20930
+ getChoices: () => readonly (string | number | boolean | null)[];
20931
+ getDefaultValue: () => any;
20932
+ getConstantValue: () => any;
20933
+ getPropertyType: () => string;
20934
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
20935
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
20936
+ }> | undefined;
20937
+ };
20938
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
20939
+ singularName?: string | undefined;
20940
+ displayName?: string | undefined;
20941
+ }>;
20942
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
20943
+ getOptions: () => object & Readonly<{
20944
+ [s: string]: any;
20945
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
20946
+ }>;
20947
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
20948
+ }>>;
20949
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
20950
+ getModel: () => Readonly<{
20951
+ getName: () => string;
20952
+ getSingularName: () => string;
20953
+ getDisplayName: () => string;
20954
+ getPrimaryKeyName: () => string;
20955
+ getModelDefinition: () => Readonly<{
20956
+ getPrimaryKeyName?: (() => string) | undefined;
20957
+ properties: any & {
20958
+ readonly [x: string]: Readonly<{
20959
+ getConfig: () => object;
20960
+ getChoices: () => readonly (string | number | boolean | null)[];
20961
+ getDefaultValue: () => any;
20962
+ getConstantValue: () => any;
20963
+ getPropertyType: () => string;
20964
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
20965
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
20966
+ }>;
20967
+ readonly id?: Readonly<{
20968
+ getConfig: () => object;
20969
+ getChoices: () => readonly (string | number | boolean | null)[];
20970
+ getDefaultValue: () => any;
20971
+ getConstantValue: () => any;
20972
+ getPropertyType: () => string;
20973
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
20974
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
20975
+ }> | undefined;
20976
+ };
20977
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
20978
+ singularName?: string | undefined;
20979
+ displayName?: string | undefined;
20980
+ }>;
20981
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
20982
+ getOptions: () => object & Readonly<{
20983
+ [s: string]: any;
20984
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
20985
+ }>;
20986
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
20987
+ }>;
20988
+ }>) => ValueGetter<T, FunctionalModel, Readonly<{
20989
+ getName: () => string;
20990
+ getSingularName: () => string;
20991
+ getDisplayName: () => string;
20992
+ getPrimaryKeyName: () => string;
20993
+ getModelDefinition: () => Readonly<{
20994
+ getPrimaryKeyName?: (() => string) | undefined;
20995
+ properties: any & {
20996
+ readonly [x: string]: Readonly<{
20997
+ getConfig: () => object;
20998
+ getChoices: () => readonly (string | number | boolean | null)[];
20999
+ getDefaultValue: () => any;
21000
+ getConstantValue: () => any;
21001
+ getPropertyType: () => string;
21002
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21003
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21004
+ }>;
21005
+ readonly id?: Readonly<{
21006
+ getConfig: () => object;
21007
+ getChoices: () => readonly (string | number | boolean | null)[];
21008
+ getDefaultValue: () => any;
21009
+ getConstantValue: () => any;
21010
+ getPropertyType: () => string;
21011
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21012
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21013
+ }> | undefined;
21014
+ };
21015
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21016
+ singularName?: string | undefined;
21017
+ displayName?: string | undefined;
21018
+ }>;
21019
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21020
+ getOptions: () => object & Readonly<{
21021
+ [s: string]: any;
21022
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21023
+ }>;
21024
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21025
+ }>, Readonly<{
21026
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21027
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21028
+ };
21029
+ references: Readonly<{
21030
+ [s: string]: () => Maybe<PrimaryKeyType>;
21031
+ }>;
21032
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21033
+ getPrimaryKeyName: () => string;
21034
+ getPrimaryKey: () => PrimaryKeyType;
21035
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21036
+ getName: () => string;
21037
+ getSingularName: () => string;
21038
+ getDisplayName: () => string;
21039
+ getPrimaryKeyName: () => string;
21040
+ getModelDefinition: () => Readonly<{
21041
+ getPrimaryKeyName?: (() => string) | undefined;
21042
+ properties: any & {
21043
+ readonly [x: string]: Readonly<{
21044
+ getConfig: () => object;
21045
+ getChoices: () => readonly (string | number | boolean | null)[];
21046
+ getDefaultValue: () => any;
21047
+ getConstantValue: () => any;
21048
+ getPropertyType: () => string;
21049
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21050
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21051
+ }>;
21052
+ readonly id?: Readonly<{
21053
+ getConfig: () => object;
21054
+ getChoices: () => readonly (string | number | boolean | null)[];
21055
+ getDefaultValue: () => any;
21056
+ getConstantValue: () => any;
21057
+ getPropertyType: () => string;
21058
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21059
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21060
+ }> | undefined;
21061
+ };
21062
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21063
+ singularName?: string | undefined;
21064
+ displayName?: string | undefined;
21065
+ }>;
21066
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21067
+ getOptions: () => object & Readonly<{
21068
+ [s: string]: any;
21069
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21070
+ }>;
21071
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21072
+ }>>;
21073
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21074
+ getModel: () => Readonly<{
21075
+ getName: () => string;
21076
+ getSingularName: () => string;
21077
+ getDisplayName: () => string;
21078
+ getPrimaryKeyName: () => string;
21079
+ getModelDefinition: () => Readonly<{
21080
+ getPrimaryKeyName?: (() => string) | undefined;
21081
+ properties: any & {
21082
+ readonly [x: string]: Readonly<{
21083
+ getConfig: () => object;
21084
+ getChoices: () => readonly (string | number | boolean | null)[];
21085
+ getDefaultValue: () => any;
21086
+ getConstantValue: () => any;
21087
+ getPropertyType: () => string;
21088
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21089
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21090
+ }>;
21091
+ readonly id?: Readonly<{
21092
+ getConfig: () => object;
21093
+ getChoices: () => readonly (string | number | boolean | null)[];
21094
+ getDefaultValue: () => any;
21095
+ getConstantValue: () => any;
21096
+ getPropertyType: () => string;
21097
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21098
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21099
+ }> | undefined;
21100
+ };
21101
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21102
+ singularName?: string | undefined;
21103
+ displayName?: string | undefined;
21104
+ }>;
21105
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21106
+ getOptions: () => object & Readonly<{
21107
+ [s: string]: any;
21108
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21109
+ }>;
21110
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21111
+ }>;
21112
+ }>>;
21113
+ getValidator: (valueGetter: ValueGetter<T, FunctionalModel, Readonly<{
21114
+ getName: () => string;
21115
+ getSingularName: () => string;
21116
+ getDisplayName: () => string;
21117
+ getPrimaryKeyName: () => string;
21118
+ getModelDefinition: () => Readonly<{
21119
+ getPrimaryKeyName?: (() => string) | undefined;
21120
+ properties: any & {
21121
+ readonly [x: string]: Readonly<{
21122
+ getConfig: () => object;
21123
+ getChoices: () => readonly (string | number | boolean | null)[];
21124
+ getDefaultValue: () => any;
21125
+ getConstantValue: () => any;
21126
+ getPropertyType: () => string;
21127
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21128
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21129
+ }>;
21130
+ readonly id?: Readonly<{
21131
+ getConfig: () => object;
21132
+ getChoices: () => readonly (string | number | boolean | null)[];
21133
+ getDefaultValue: () => any;
21134
+ getConstantValue: () => any;
21135
+ getPropertyType: () => string;
21136
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21137
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21138
+ }> | undefined;
21139
+ };
21140
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21141
+ singularName?: string | undefined;
21142
+ displayName?: string | undefined;
21143
+ }>;
21144
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21145
+ getOptions: () => object & Readonly<{
21146
+ [s: string]: any;
21147
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21148
+ }>;
21149
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21150
+ }>, Readonly<{
21151
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21152
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21153
+ };
21154
+ references: Readonly<{
21155
+ [s: string]: () => Maybe<PrimaryKeyType>;
21156
+ }>;
21157
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21158
+ getPrimaryKeyName: () => string;
21159
+ getPrimaryKey: () => PrimaryKeyType;
21160
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21161
+ getName: () => string;
21162
+ getSingularName: () => string;
21163
+ getDisplayName: () => string;
21164
+ getPrimaryKeyName: () => string;
21165
+ getModelDefinition: () => Readonly<{
21166
+ getPrimaryKeyName?: (() => string) | undefined;
21167
+ properties: any & {
21168
+ readonly [x: string]: Readonly<{
21169
+ getConfig: () => object;
21170
+ getChoices: () => readonly (string | number | boolean | null)[];
21171
+ getDefaultValue: () => any;
21172
+ getConstantValue: () => any;
21173
+ getPropertyType: () => string;
21174
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21175
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21176
+ }>;
21177
+ readonly id?: Readonly<{
21178
+ getConfig: () => object;
21179
+ getChoices: () => readonly (string | number | boolean | null)[];
21180
+ getDefaultValue: () => any;
21181
+ getConstantValue: () => any;
21182
+ getPropertyType: () => string;
21183
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21184
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21185
+ }> | undefined;
21186
+ };
21187
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21188
+ singularName?: string | undefined;
21189
+ displayName?: string | undefined;
21190
+ }>;
21191
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21192
+ getOptions: () => object & Readonly<{
21193
+ [s: string]: any;
21194
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21195
+ }>;
21196
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21197
+ }>>;
21198
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21199
+ getModel: () => Readonly<{
21200
+ getName: () => string;
21201
+ getSingularName: () => string;
21202
+ getDisplayName: () => string;
21203
+ getPrimaryKeyName: () => string;
21204
+ getModelDefinition: () => Readonly<{
21205
+ getPrimaryKeyName?: (() => string) | undefined;
21206
+ properties: any & {
21207
+ readonly [x: string]: Readonly<{
21208
+ getConfig: () => object;
21209
+ getChoices: () => readonly (string | number | boolean | null)[];
21210
+ getDefaultValue: () => any;
21211
+ getConstantValue: () => any;
21212
+ getPropertyType: () => string;
21213
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21214
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21215
+ }>;
21216
+ readonly id?: Readonly<{
21217
+ getConfig: () => object;
21218
+ getChoices: () => readonly (string | number | boolean | null)[];
21219
+ getDefaultValue: () => any;
21220
+ getConstantValue: () => any;
21221
+ getPropertyType: () => string;
21222
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21223
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21224
+ }> | undefined;
21225
+ };
21226
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21227
+ singularName?: string | undefined;
21228
+ displayName?: string | undefined;
21229
+ }>;
21230
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21231
+ getOptions: () => object & Readonly<{
21232
+ [s: string]: any;
21233
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21234
+ }>;
21235
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21236
+ }>;
21237
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
21238
+ getName: () => string;
21239
+ getSingularName: () => string;
21240
+ getDisplayName: () => string;
21241
+ getPrimaryKeyName: () => string;
21242
+ getModelDefinition: () => Readonly<{
21243
+ getPrimaryKeyName?: (() => string) | undefined;
21244
+ properties: any & {
21245
+ readonly [x: string]: Readonly<{
21246
+ getConfig: () => object;
21247
+ getChoices: () => readonly (string | number | boolean | null)[];
21248
+ getDefaultValue: () => any;
21249
+ getConstantValue: () => any;
21250
+ getPropertyType: () => string;
21251
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21252
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21253
+ }>;
21254
+ readonly id?: Readonly<{
21255
+ getConfig: () => object;
21256
+ getChoices: () => readonly (string | number | boolean | null)[];
21257
+ getDefaultValue: () => any;
21258
+ getConstantValue: () => any;
21259
+ getPropertyType: () => string;
21260
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21261
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21262
+ }> | undefined;
21263
+ };
21264
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21265
+ singularName?: string | undefined;
21266
+ displayName?: string | undefined;
21267
+ }>;
21268
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21269
+ getOptions: () => object & Readonly<{
21270
+ [s: string]: any;
21271
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21272
+ }>;
21273
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21274
+ }>, Readonly<{
21275
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21276
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21277
+ };
21278
+ references: Readonly<{
21279
+ [s: string]: () => Maybe<PrimaryKeyType>;
21280
+ }>;
21281
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21282
+ getPrimaryKeyName: () => string;
21283
+ getPrimaryKey: () => PrimaryKeyType;
21284
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21285
+ getName: () => string;
21286
+ getSingularName: () => string;
21287
+ getDisplayName: () => string;
21288
+ getPrimaryKeyName: () => string;
21289
+ getModelDefinition: () => Readonly<{
21290
+ getPrimaryKeyName?: (() => string) | undefined;
21291
+ properties: any & {
21292
+ readonly [x: string]: Readonly<{
21293
+ getConfig: () => object;
21294
+ getChoices: () => readonly (string | number | boolean | null)[];
21295
+ getDefaultValue: () => any;
21296
+ getConstantValue: () => any;
21297
+ getPropertyType: () => string;
21298
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21299
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21300
+ }>;
21301
+ readonly id?: Readonly<{
21302
+ getConfig: () => object;
21303
+ getChoices: () => readonly (string | number | boolean | null)[];
21304
+ getDefaultValue: () => any;
21305
+ getConstantValue: () => any;
21306
+ getPropertyType: () => string;
21307
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21308
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21309
+ }> | undefined;
21310
+ };
21311
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21312
+ singularName?: string | undefined;
21313
+ displayName?: string | undefined;
21314
+ }>;
21315
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21316
+ getOptions: () => object & Readonly<{
21317
+ [s: string]: any;
21318
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21319
+ }>;
21320
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21321
+ }>>;
21322
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21323
+ getModel: () => Readonly<{
21324
+ getName: () => string;
21325
+ getSingularName: () => string;
21326
+ getDisplayName: () => string;
21327
+ getPrimaryKeyName: () => string;
21328
+ getModelDefinition: () => Readonly<{
21329
+ getPrimaryKeyName?: (() => string) | undefined;
21330
+ properties: any & {
21331
+ readonly [x: string]: Readonly<{
21332
+ getConfig: () => object;
21333
+ getChoices: () => readonly (string | number | boolean | null)[];
21334
+ getDefaultValue: () => any;
21335
+ getConstantValue: () => any;
21336
+ getPropertyType: () => string;
21337
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21338
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21339
+ }>;
21340
+ readonly id?: Readonly<{
21341
+ getConfig: () => object;
21342
+ getChoices: () => readonly (string | number | boolean | null)[];
21343
+ getDefaultValue: () => any;
21344
+ getConstantValue: () => any;
21345
+ getPropertyType: () => string;
21346
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21347
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21348
+ }> | undefined;
21349
+ };
21350
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21351
+ singularName?: string | undefined;
21352
+ displayName?: string | undefined;
21353
+ }>;
21354
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21355
+ getOptions: () => object & Readonly<{
21356
+ [s: string]: any;
21357
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21358
+ }>;
21359
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21360
+ }>;
21361
+ }>>;
21362
+ }> & {
21363
+ calculate: CalculateDenormalization<T, TModel>;
21364
+ };
21365
+ /**
21366
+ * A Denormalized Property that is for text.
21367
+ * @param calculate - A function that can get a string
21368
+ * @param config - Any configs
21369
+ * @param additionalMetadata - Optional Metadata
21370
+ * @constructor
21371
+ */
21372
+ declare const DenormalizedTextProperty: <T extends FunctionalModel>(calculate: CalculateDenormalization<string, T>, config?: PropertyConfig<string>, additionalMetadata?: {}) => Readonly<{
21373
+ getConfig: () => object;
21374
+ getChoices: () => readonly (string | number | boolean | null)[];
21375
+ getDefaultValue: () => string;
21376
+ getConstantValue: () => string;
21377
+ getPropertyType: () => string;
21378
+ createGetter: (value: string, modelData: FunctionalModel, modelInstance: Readonly<{
21379
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21380
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21381
+ };
21382
+ references: Readonly<{
21383
+ [s: string]: () => Maybe<PrimaryKeyType>;
21384
+ }>;
21385
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21386
+ getPrimaryKeyName: () => string;
21387
+ getPrimaryKey: () => PrimaryKeyType;
21388
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21389
+ getName: () => string;
21390
+ getSingularName: () => string;
21391
+ getDisplayName: () => string;
21392
+ getPrimaryKeyName: () => string;
21393
+ getModelDefinition: () => Readonly<{
21394
+ getPrimaryKeyName?: (() => string) | undefined;
21395
+ properties: any & {
21396
+ readonly [x: string]: Readonly<{
21397
+ getConfig: () => object;
21398
+ getChoices: () => readonly (string | number | boolean | null)[];
21399
+ getDefaultValue: () => any;
21400
+ getConstantValue: () => any;
21401
+ getPropertyType: () => string;
21402
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21403
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21404
+ }>;
21405
+ readonly id?: Readonly<{
21406
+ getConfig: () => object;
21407
+ getChoices: () => readonly (string | number | boolean | null)[];
21408
+ getDefaultValue: () => any;
21409
+ getConstantValue: () => any;
21410
+ getPropertyType: () => string;
21411
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21412
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21413
+ }> | undefined;
21414
+ };
21415
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21416
+ singularName?: string | undefined;
21417
+ displayName?: string | undefined;
21418
+ }>;
21419
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21420
+ getOptions: () => object & Readonly<{
21421
+ [s: string]: any;
21422
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21423
+ }>;
21424
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21425
+ }>>;
21426
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21427
+ getModel: () => Readonly<{
21428
+ getName: () => string;
21429
+ getSingularName: () => string;
21430
+ getDisplayName: () => string;
21431
+ getPrimaryKeyName: () => string;
21432
+ getModelDefinition: () => Readonly<{
21433
+ getPrimaryKeyName?: (() => string) | undefined;
21434
+ properties: any & {
21435
+ readonly [x: string]: Readonly<{
21436
+ getConfig: () => object;
21437
+ getChoices: () => readonly (string | number | boolean | null)[];
21438
+ getDefaultValue: () => any;
21439
+ getConstantValue: () => any;
21440
+ getPropertyType: () => string;
21441
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21442
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21443
+ }>;
21444
+ readonly id?: Readonly<{
21445
+ getConfig: () => object;
21446
+ getChoices: () => readonly (string | number | boolean | null)[];
21447
+ getDefaultValue: () => any;
21448
+ getConstantValue: () => any;
21449
+ getPropertyType: () => string;
21450
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21451
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21452
+ }> | undefined;
21453
+ };
21454
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21455
+ singularName?: string | undefined;
21456
+ displayName?: string | undefined;
21457
+ }>;
21458
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21459
+ getOptions: () => object & Readonly<{
21460
+ [s: string]: any;
21461
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21462
+ }>;
21463
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21464
+ }>;
21465
+ }>) => ValueGetter<string, FunctionalModel, Readonly<{
21466
+ getName: () => string;
21467
+ getSingularName: () => string;
21468
+ getDisplayName: () => string;
21469
+ getPrimaryKeyName: () => string;
21470
+ getModelDefinition: () => Readonly<{
21471
+ getPrimaryKeyName?: (() => string) | undefined;
21472
+ properties: any & {
21473
+ readonly [x: string]: Readonly<{
21474
+ getConfig: () => object;
21475
+ getChoices: () => readonly (string | number | boolean | null)[];
21476
+ getDefaultValue: () => any;
21477
+ getConstantValue: () => any;
21478
+ getPropertyType: () => string;
21479
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21480
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21481
+ }>;
21482
+ readonly id?: Readonly<{
21483
+ getConfig: () => object;
21484
+ getChoices: () => readonly (string | number | boolean | null)[];
21485
+ getDefaultValue: () => any;
21486
+ getConstantValue: () => any;
21487
+ getPropertyType: () => string;
21488
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21489
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21490
+ }> | undefined;
21491
+ };
21492
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21493
+ singularName?: string | undefined;
21494
+ displayName?: string | undefined;
21495
+ }>;
21496
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21497
+ getOptions: () => object & Readonly<{
21498
+ [s: string]: any;
21499
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21500
+ }>;
21501
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21502
+ }>, Readonly<{
21503
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21504
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21505
+ };
21506
+ references: Readonly<{
21507
+ [s: string]: () => Maybe<PrimaryKeyType>;
21508
+ }>;
21509
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21510
+ getPrimaryKeyName: () => string;
21511
+ getPrimaryKey: () => PrimaryKeyType;
21512
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21513
+ getName: () => string;
21514
+ getSingularName: () => string;
21515
+ getDisplayName: () => string;
21516
+ getPrimaryKeyName: () => string;
21517
+ getModelDefinition: () => Readonly<{
21518
+ getPrimaryKeyName?: (() => string) | undefined;
21519
+ properties: any & {
21520
+ readonly [x: string]: Readonly<{
21521
+ getConfig: () => object;
21522
+ getChoices: () => readonly (string | number | boolean | null)[];
21523
+ getDefaultValue: () => any;
21524
+ getConstantValue: () => any;
21525
+ getPropertyType: () => string;
21526
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21527
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21528
+ }>;
21529
+ readonly id?: Readonly<{
21530
+ getConfig: () => object;
21531
+ getChoices: () => readonly (string | number | boolean | null)[];
21532
+ getDefaultValue: () => any;
21533
+ getConstantValue: () => any;
21534
+ getPropertyType: () => string;
21535
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21536
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21537
+ }> | undefined;
21538
+ };
21539
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21540
+ singularName?: string | undefined;
21541
+ displayName?: string | undefined;
21542
+ }>;
21543
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21544
+ getOptions: () => object & Readonly<{
21545
+ [s: string]: any;
21546
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21547
+ }>;
21548
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21549
+ }>>;
21550
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21551
+ getModel: () => Readonly<{
21552
+ getName: () => string;
21553
+ getSingularName: () => string;
21554
+ getDisplayName: () => string;
21555
+ getPrimaryKeyName: () => string;
21556
+ getModelDefinition: () => Readonly<{
21557
+ getPrimaryKeyName?: (() => string) | undefined;
21558
+ properties: any & {
21559
+ readonly [x: string]: Readonly<{
21560
+ getConfig: () => object;
21561
+ getChoices: () => readonly (string | number | boolean | null)[];
21562
+ getDefaultValue: () => any;
21563
+ getConstantValue: () => any;
21564
+ getPropertyType: () => string;
21565
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21566
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21567
+ }>;
21568
+ readonly id?: Readonly<{
21569
+ getConfig: () => object;
21570
+ getChoices: () => readonly (string | number | boolean | null)[];
21571
+ getDefaultValue: () => any;
21572
+ getConstantValue: () => any;
21573
+ getPropertyType: () => string;
21574
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21575
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21576
+ }> | undefined;
21577
+ };
21578
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21579
+ singularName?: string | undefined;
21580
+ displayName?: string | undefined;
21581
+ }>;
21582
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21583
+ getOptions: () => object & Readonly<{
21584
+ [s: string]: any;
21585
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21586
+ }>;
21587
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21588
+ }>;
21589
+ }>>;
21590
+ getValidator: (valueGetter: ValueGetter<string, FunctionalModel, Readonly<{
21591
+ getName: () => string;
21592
+ getSingularName: () => string;
21593
+ getDisplayName: () => string;
21594
+ getPrimaryKeyName: () => string;
21595
+ getModelDefinition: () => Readonly<{
21596
+ getPrimaryKeyName?: (() => string) | undefined;
21597
+ properties: any & {
21598
+ readonly [x: string]: Readonly<{
21599
+ getConfig: () => object;
21600
+ getChoices: () => readonly (string | number | boolean | null)[];
21601
+ getDefaultValue: () => any;
21602
+ getConstantValue: () => any;
21603
+ getPropertyType: () => string;
21604
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21605
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21606
+ }>;
21607
+ readonly id?: Readonly<{
21608
+ getConfig: () => object;
21609
+ getChoices: () => readonly (string | number | boolean | null)[];
21610
+ getDefaultValue: () => any;
21611
+ getConstantValue: () => any;
21612
+ getPropertyType: () => string;
21613
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21614
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21615
+ }> | undefined;
21616
+ };
21617
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21618
+ singularName?: string | undefined;
21619
+ displayName?: string | undefined;
21620
+ }>;
21621
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21622
+ getOptions: () => object & Readonly<{
21623
+ [s: string]: any;
21624
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21625
+ }>;
21626
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21627
+ }>, Readonly<{
21628
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21629
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21630
+ };
21631
+ references: Readonly<{
21632
+ [s: string]: () => Maybe<PrimaryKeyType>;
21633
+ }>;
21634
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21635
+ getPrimaryKeyName: () => string;
21636
+ getPrimaryKey: () => PrimaryKeyType;
21637
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21638
+ getName: () => string;
21639
+ getSingularName: () => string;
21640
+ getDisplayName: () => string;
21641
+ getPrimaryKeyName: () => string;
21642
+ getModelDefinition: () => Readonly<{
21643
+ getPrimaryKeyName?: (() => string) | undefined;
21644
+ properties: any & {
21645
+ readonly [x: string]: Readonly<{
21646
+ getConfig: () => object;
21647
+ getChoices: () => readonly (string | number | boolean | null)[];
21648
+ getDefaultValue: () => any;
21649
+ getConstantValue: () => any;
21650
+ getPropertyType: () => string;
21651
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21652
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21653
+ }>;
21654
+ readonly id?: Readonly<{
21655
+ getConfig: () => object;
21656
+ getChoices: () => readonly (string | number | boolean | null)[];
21657
+ getDefaultValue: () => any;
21658
+ getConstantValue: () => any;
21659
+ getPropertyType: () => string;
21660
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21661
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21662
+ }> | undefined;
21663
+ };
21664
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21665
+ singularName?: string | undefined;
21666
+ displayName?: string | undefined;
21667
+ }>;
21668
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21669
+ getOptions: () => object & Readonly<{
21670
+ [s: string]: any;
21671
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21672
+ }>;
21673
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21674
+ }>>;
21675
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21676
+ getModel: () => Readonly<{
21677
+ getName: () => string;
21678
+ getSingularName: () => string;
21679
+ getDisplayName: () => string;
21680
+ getPrimaryKeyName: () => string;
21681
+ getModelDefinition: () => Readonly<{
21682
+ getPrimaryKeyName?: (() => string) | undefined;
21683
+ properties: any & {
21684
+ readonly [x: string]: Readonly<{
21685
+ getConfig: () => object;
21686
+ getChoices: () => readonly (string | number | boolean | null)[];
21687
+ getDefaultValue: () => any;
21688
+ getConstantValue: () => any;
21689
+ getPropertyType: () => string;
21690
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21691
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21692
+ }>;
21693
+ readonly id?: Readonly<{
21694
+ getConfig: () => object;
21695
+ getChoices: () => readonly (string | number | boolean | null)[];
21696
+ getDefaultValue: () => any;
21697
+ getConstantValue: () => any;
21698
+ getPropertyType: () => string;
21699
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21700
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21701
+ }> | undefined;
21702
+ };
21703
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21704
+ singularName?: string | undefined;
21705
+ displayName?: string | undefined;
21706
+ }>;
21707
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21708
+ getOptions: () => object & Readonly<{
21709
+ [s: string]: any;
21710
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21711
+ }>;
21712
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21713
+ }>;
21714
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
21715
+ getName: () => string;
21716
+ getSingularName: () => string;
21717
+ getDisplayName: () => string;
21718
+ getPrimaryKeyName: () => string;
21719
+ getModelDefinition: () => Readonly<{
21720
+ getPrimaryKeyName?: (() => string) | undefined;
21721
+ properties: any & {
21722
+ readonly [x: string]: Readonly<{
21723
+ getConfig: () => object;
21724
+ getChoices: () => readonly (string | number | boolean | null)[];
21725
+ getDefaultValue: () => any;
21726
+ getConstantValue: () => any;
21727
+ getPropertyType: () => string;
21728
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21729
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21730
+ }>;
21731
+ readonly id?: Readonly<{
21732
+ getConfig: () => object;
21733
+ getChoices: () => readonly (string | number | boolean | null)[];
21734
+ getDefaultValue: () => any;
21735
+ getConstantValue: () => any;
21736
+ getPropertyType: () => string;
21737
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21738
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21739
+ }> | undefined;
21740
+ };
21741
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21742
+ singularName?: string | undefined;
21743
+ displayName?: string | undefined;
21744
+ }>;
21745
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21746
+ getOptions: () => object & Readonly<{
21747
+ [s: string]: any;
21748
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21749
+ }>;
21750
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21751
+ }>, Readonly<{
21752
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21753
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21754
+ };
21755
+ references: Readonly<{
21756
+ [s: string]: () => Maybe<PrimaryKeyType>;
21757
+ }>;
21758
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21759
+ getPrimaryKeyName: () => string;
21760
+ getPrimaryKey: () => PrimaryKeyType;
21761
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21762
+ getName: () => string;
21763
+ getSingularName: () => string;
21764
+ getDisplayName: () => string;
21765
+ getPrimaryKeyName: () => string;
21766
+ getModelDefinition: () => Readonly<{
21767
+ getPrimaryKeyName?: (() => string) | undefined;
21768
+ properties: any & {
21769
+ readonly [x: string]: Readonly<{
21770
+ getConfig: () => object;
21771
+ getChoices: () => readonly (string | number | boolean | null)[];
21772
+ getDefaultValue: () => any;
21773
+ getConstantValue: () => any;
21774
+ getPropertyType: () => string;
21775
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21776
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21777
+ }>;
21778
+ readonly id?: Readonly<{
21779
+ getConfig: () => object;
21780
+ getChoices: () => readonly (string | number | boolean | null)[];
21781
+ getDefaultValue: () => any;
21782
+ getConstantValue: () => any;
21783
+ getPropertyType: () => string;
21784
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21785
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21786
+ }> | undefined;
21787
+ };
21788
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21789
+ singularName?: string | undefined;
21790
+ displayName?: string | undefined;
21791
+ }>;
21792
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21793
+ getOptions: () => object & Readonly<{
21794
+ [s: string]: any;
21795
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21796
+ }>;
21797
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21798
+ }>>;
21799
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21800
+ getModel: () => Readonly<{
21801
+ getName: () => string;
21802
+ getSingularName: () => string;
21803
+ getDisplayName: () => string;
21804
+ getPrimaryKeyName: () => string;
21805
+ getModelDefinition: () => Readonly<{
21806
+ getPrimaryKeyName?: (() => string) | undefined;
21807
+ properties: any & {
21808
+ readonly [x: string]: Readonly<{
21809
+ getConfig: () => object;
21810
+ getChoices: () => readonly (string | number | boolean | null)[];
21811
+ getDefaultValue: () => any;
21812
+ getConstantValue: () => any;
21813
+ getPropertyType: () => string;
21814
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21815
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21816
+ }>;
21817
+ readonly id?: Readonly<{
21818
+ getConfig: () => object;
21819
+ getChoices: () => readonly (string | number | boolean | null)[];
21820
+ getDefaultValue: () => any;
21821
+ getConstantValue: () => any;
21822
+ getPropertyType: () => string;
21823
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21824
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21825
+ }> | undefined;
21826
+ };
21827
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21828
+ singularName?: string | undefined;
21829
+ displayName?: string | undefined;
21830
+ }>;
21831
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21832
+ getOptions: () => object & Readonly<{
21833
+ [s: string]: any;
21834
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21835
+ }>;
21836
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21837
+ }>;
21838
+ }>>;
21839
+ }> & {
21840
+ calculate: CalculateDenormalization<string, T>;
21841
+ };
21842
+ /**
21843
+ * A Denormalized Property that is for numbers.
21844
+ * @param calculate - A function that can get a string
21845
+ * @param config - Any configs
21846
+ * @param additionalMetadata - Optional Metadata
21847
+ * @constructor
21848
+ */
21849
+ declare const DenormalizedNumberProperty: <T extends FunctionalModel>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
21850
+ getConfig: () => object;
21851
+ getChoices: () => readonly (string | number | boolean | null)[];
21852
+ getDefaultValue: () => number;
21853
+ getConstantValue: () => number;
21854
+ getPropertyType: () => string;
21855
+ createGetter: (value: number, modelData: FunctionalModel, modelInstance: Readonly<{
21856
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21857
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21858
+ };
21859
+ references: Readonly<{
21860
+ [s: string]: () => Maybe<PrimaryKeyType>;
21861
+ }>;
21862
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21863
+ getPrimaryKeyName: () => string;
21864
+ getPrimaryKey: () => PrimaryKeyType;
21865
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21866
+ getName: () => string;
21867
+ getSingularName: () => string;
21868
+ getDisplayName: () => string;
21869
+ getPrimaryKeyName: () => string;
21870
+ getModelDefinition: () => Readonly<{
21871
+ getPrimaryKeyName?: (() => string) | undefined;
21872
+ properties: any & {
21873
+ readonly [x: string]: Readonly<{
21874
+ getConfig: () => object;
21875
+ getChoices: () => readonly (string | number | boolean | null)[];
21876
+ getDefaultValue: () => any;
21877
+ getConstantValue: () => any;
21878
+ getPropertyType: () => string;
21879
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21880
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21881
+ }>;
21882
+ readonly id?: Readonly<{
21883
+ getConfig: () => object;
21884
+ getChoices: () => readonly (string | number | boolean | null)[];
21885
+ getDefaultValue: () => any;
21886
+ getConstantValue: () => any;
21887
+ getPropertyType: () => string;
21888
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21889
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21890
+ }> | undefined;
21891
+ };
21892
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21893
+ singularName?: string | undefined;
21894
+ displayName?: string | undefined;
21895
+ }>;
21896
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21897
+ getOptions: () => object & Readonly<{
21898
+ [s: string]: any;
21899
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21900
+ }>;
21901
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21902
+ }>>;
21903
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
21904
+ getModel: () => Readonly<{
21905
+ getName: () => string;
21906
+ getSingularName: () => string;
21907
+ getDisplayName: () => string;
21908
+ getPrimaryKeyName: () => string;
21909
+ getModelDefinition: () => Readonly<{
21910
+ getPrimaryKeyName?: (() => string) | undefined;
21911
+ properties: any & {
21912
+ readonly [x: string]: Readonly<{
21913
+ getConfig: () => object;
21914
+ getChoices: () => readonly (string | number | boolean | null)[];
21915
+ getDefaultValue: () => any;
21916
+ getConstantValue: () => any;
21917
+ getPropertyType: () => string;
21918
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21919
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21920
+ }>;
21921
+ readonly id?: Readonly<{
21922
+ getConfig: () => object;
21923
+ getChoices: () => readonly (string | number | boolean | null)[];
21924
+ getDefaultValue: () => any;
21925
+ getConstantValue: () => any;
21926
+ getPropertyType: () => string;
21927
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21928
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21929
+ }> | undefined;
21930
+ };
21931
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21932
+ singularName?: string | undefined;
21933
+ displayName?: string | undefined;
21934
+ }>;
21935
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21936
+ getOptions: () => object & Readonly<{
21937
+ [s: string]: any;
21938
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21939
+ }>;
21940
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21941
+ }>;
21942
+ }>) => ValueGetter<number, FunctionalModel, Readonly<{
21943
+ getName: () => string;
21944
+ getSingularName: () => string;
21945
+ getDisplayName: () => string;
21946
+ getPrimaryKeyName: () => string;
21947
+ getModelDefinition: () => Readonly<{
21948
+ getPrimaryKeyName?: (() => string) | undefined;
21949
+ properties: any & {
21950
+ readonly [x: string]: Readonly<{
21951
+ getConfig: () => object;
21952
+ getChoices: () => readonly (string | number | boolean | null)[];
21953
+ getDefaultValue: () => any;
21954
+ getConstantValue: () => any;
21955
+ getPropertyType: () => string;
21956
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21957
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21958
+ }>;
21959
+ readonly id?: Readonly<{
21960
+ getConfig: () => object;
21961
+ getChoices: () => readonly (string | number | boolean | null)[];
21962
+ getDefaultValue: () => any;
21963
+ getConstantValue: () => any;
21964
+ getPropertyType: () => string;
21965
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
21966
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
21967
+ }> | undefined;
21968
+ };
21969
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
21970
+ singularName?: string | undefined;
21971
+ displayName?: string | undefined;
21972
+ }>;
21973
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
21974
+ getOptions: () => object & Readonly<{
21975
+ [s: string]: any;
21976
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
21977
+ }>;
21978
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
21979
+ }>, Readonly<{
21980
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
21981
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
21982
+ };
21983
+ references: Readonly<{
21984
+ [s: string]: () => Maybe<PrimaryKeyType>;
21985
+ }>;
21986
+ toObj: import("./interfaces").toObj<FunctionalModel>;
21987
+ getPrimaryKeyName: () => string;
21988
+ getPrimaryKey: () => PrimaryKeyType;
21989
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
21990
+ getName: () => string;
21991
+ getSingularName: () => string;
21992
+ getDisplayName: () => string;
21993
+ getPrimaryKeyName: () => string;
21994
+ getModelDefinition: () => Readonly<{
21995
+ getPrimaryKeyName?: (() => string) | undefined;
21996
+ properties: any & {
21997
+ readonly [x: string]: Readonly<{
21998
+ getConfig: () => object;
21999
+ getChoices: () => readonly (string | number | boolean | null)[];
22000
+ getDefaultValue: () => any;
22001
+ getConstantValue: () => any;
22002
+ getPropertyType: () => string;
22003
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22004
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22005
+ }>;
22006
+ readonly id?: Readonly<{
22007
+ getConfig: () => object;
22008
+ getChoices: () => readonly (string | number | boolean | null)[];
22009
+ getDefaultValue: () => any;
22010
+ getConstantValue: () => any;
22011
+ getPropertyType: () => string;
22012
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22013
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22014
+ }> | undefined;
22015
+ };
22016
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22017
+ singularName?: string | undefined;
22018
+ displayName?: string | undefined;
22019
+ }>;
22020
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22021
+ getOptions: () => object & Readonly<{
22022
+ [s: string]: any;
22023
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22024
+ }>;
22025
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22026
+ }>>;
22027
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22028
+ getModel: () => Readonly<{
22029
+ getName: () => string;
22030
+ getSingularName: () => string;
22031
+ getDisplayName: () => string;
22032
+ getPrimaryKeyName: () => string;
22033
+ getModelDefinition: () => Readonly<{
22034
+ getPrimaryKeyName?: (() => string) | undefined;
22035
+ properties: any & {
22036
+ readonly [x: string]: Readonly<{
22037
+ getConfig: () => object;
22038
+ getChoices: () => readonly (string | number | boolean | null)[];
22039
+ getDefaultValue: () => any;
22040
+ getConstantValue: () => any;
22041
+ getPropertyType: () => string;
22042
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22043
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22044
+ }>;
22045
+ readonly id?: Readonly<{
22046
+ getConfig: () => object;
22047
+ getChoices: () => readonly (string | number | boolean | null)[];
22048
+ getDefaultValue: () => any;
22049
+ getConstantValue: () => any;
22050
+ getPropertyType: () => string;
22051
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22052
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22053
+ }> | undefined;
22054
+ };
22055
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22056
+ singularName?: string | undefined;
22057
+ displayName?: string | undefined;
22058
+ }>;
22059
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22060
+ getOptions: () => object & Readonly<{
22061
+ [s: string]: any;
22062
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22063
+ }>;
22064
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22065
+ }>;
22066
+ }>>;
22067
+ getValidator: (valueGetter: ValueGetter<number, FunctionalModel, Readonly<{
22068
+ getName: () => string;
22069
+ getSingularName: () => string;
22070
+ getDisplayName: () => string;
22071
+ getPrimaryKeyName: () => string;
22072
+ getModelDefinition: () => Readonly<{
22073
+ getPrimaryKeyName?: (() => string) | undefined;
22074
+ properties: any & {
22075
+ readonly [x: string]: Readonly<{
22076
+ getConfig: () => object;
22077
+ getChoices: () => readonly (string | number | boolean | null)[];
22078
+ getDefaultValue: () => any;
22079
+ getConstantValue: () => any;
22080
+ getPropertyType: () => string;
22081
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22082
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22083
+ }>;
22084
+ readonly id?: Readonly<{
22085
+ getConfig: () => object;
22086
+ getChoices: () => readonly (string | number | boolean | null)[];
22087
+ getDefaultValue: () => any;
22088
+ getConstantValue: () => any;
22089
+ getPropertyType: () => string;
22090
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22091
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22092
+ }> | undefined;
22093
+ };
22094
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22095
+ singularName?: string | undefined;
22096
+ displayName?: string | undefined;
22097
+ }>;
22098
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22099
+ getOptions: () => object & Readonly<{
22100
+ [s: string]: any;
22101
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22102
+ }>;
22103
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22104
+ }>, Readonly<{
22105
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22106
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22107
+ };
22108
+ references: Readonly<{
22109
+ [s: string]: () => Maybe<PrimaryKeyType>;
22110
+ }>;
22111
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22112
+ getPrimaryKeyName: () => string;
22113
+ getPrimaryKey: () => PrimaryKeyType;
22114
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22115
+ getName: () => string;
22116
+ getSingularName: () => string;
22117
+ getDisplayName: () => string;
22118
+ getPrimaryKeyName: () => string;
22119
+ getModelDefinition: () => Readonly<{
22120
+ getPrimaryKeyName?: (() => string) | undefined;
22121
+ properties: any & {
22122
+ readonly [x: string]: Readonly<{
22123
+ getConfig: () => object;
22124
+ getChoices: () => readonly (string | number | boolean | null)[];
22125
+ getDefaultValue: () => any;
22126
+ getConstantValue: () => any;
22127
+ getPropertyType: () => string;
22128
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22129
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22130
+ }>;
22131
+ readonly id?: Readonly<{
22132
+ getConfig: () => object;
22133
+ getChoices: () => readonly (string | number | boolean | null)[];
22134
+ getDefaultValue: () => any;
22135
+ getConstantValue: () => any;
22136
+ getPropertyType: () => string;
22137
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22138
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22139
+ }> | undefined;
22140
+ };
22141
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22142
+ singularName?: string | undefined;
22143
+ displayName?: string | undefined;
22144
+ }>;
22145
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22146
+ getOptions: () => object & Readonly<{
22147
+ [s: string]: any;
22148
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22149
+ }>;
22150
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22151
+ }>>;
22152
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22153
+ getModel: () => Readonly<{
22154
+ getName: () => string;
22155
+ getSingularName: () => string;
22156
+ getDisplayName: () => string;
22157
+ getPrimaryKeyName: () => string;
22158
+ getModelDefinition: () => Readonly<{
22159
+ getPrimaryKeyName?: (() => string) | undefined;
22160
+ properties: any & {
22161
+ readonly [x: string]: Readonly<{
22162
+ getConfig: () => object;
22163
+ getChoices: () => readonly (string | number | boolean | null)[];
22164
+ getDefaultValue: () => any;
22165
+ getConstantValue: () => any;
22166
+ getPropertyType: () => string;
22167
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22168
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22169
+ }>;
22170
+ readonly id?: Readonly<{
22171
+ getConfig: () => object;
22172
+ getChoices: () => readonly (string | number | boolean | null)[];
22173
+ getDefaultValue: () => any;
22174
+ getConstantValue: () => any;
22175
+ getPropertyType: () => string;
22176
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22177
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22178
+ }> | undefined;
22179
+ };
22180
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22181
+ singularName?: string | undefined;
22182
+ displayName?: string | undefined;
22183
+ }>;
22184
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22185
+ getOptions: () => object & Readonly<{
22186
+ [s: string]: any;
22187
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22188
+ }>;
22189
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22190
+ }>;
22191
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
22192
+ getName: () => string;
22193
+ getSingularName: () => string;
22194
+ getDisplayName: () => string;
22195
+ getPrimaryKeyName: () => string;
22196
+ getModelDefinition: () => Readonly<{
22197
+ getPrimaryKeyName?: (() => string) | undefined;
22198
+ properties: any & {
22199
+ readonly [x: string]: Readonly<{
22200
+ getConfig: () => object;
22201
+ getChoices: () => readonly (string | number | boolean | null)[];
22202
+ getDefaultValue: () => any;
22203
+ getConstantValue: () => any;
22204
+ getPropertyType: () => string;
22205
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22206
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22207
+ }>;
22208
+ readonly id?: Readonly<{
22209
+ getConfig: () => object;
22210
+ getChoices: () => readonly (string | number | boolean | null)[];
22211
+ getDefaultValue: () => any;
22212
+ getConstantValue: () => any;
22213
+ getPropertyType: () => string;
22214
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22215
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22216
+ }> | undefined;
22217
+ };
22218
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22219
+ singularName?: string | undefined;
22220
+ displayName?: string | undefined;
22221
+ }>;
22222
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22223
+ getOptions: () => object & Readonly<{
22224
+ [s: string]: any;
22225
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22226
+ }>;
22227
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22228
+ }>, Readonly<{
22229
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22230
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22231
+ };
22232
+ references: Readonly<{
22233
+ [s: string]: () => Maybe<PrimaryKeyType>;
22234
+ }>;
22235
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22236
+ getPrimaryKeyName: () => string;
22237
+ getPrimaryKey: () => PrimaryKeyType;
22238
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22239
+ getName: () => string;
22240
+ getSingularName: () => string;
22241
+ getDisplayName: () => string;
22242
+ getPrimaryKeyName: () => string;
22243
+ getModelDefinition: () => Readonly<{
22244
+ getPrimaryKeyName?: (() => string) | undefined;
22245
+ properties: any & {
22246
+ readonly [x: string]: Readonly<{
22247
+ getConfig: () => object;
22248
+ getChoices: () => readonly (string | number | boolean | null)[];
22249
+ getDefaultValue: () => any;
22250
+ getConstantValue: () => any;
22251
+ getPropertyType: () => string;
22252
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22253
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22254
+ }>;
22255
+ readonly id?: Readonly<{
22256
+ getConfig: () => object;
22257
+ getChoices: () => readonly (string | number | boolean | null)[];
22258
+ getDefaultValue: () => any;
22259
+ getConstantValue: () => any;
22260
+ getPropertyType: () => string;
22261
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22262
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22263
+ }> | undefined;
22264
+ };
22265
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22266
+ singularName?: string | undefined;
22267
+ displayName?: string | undefined;
22268
+ }>;
22269
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22270
+ getOptions: () => object & Readonly<{
22271
+ [s: string]: any;
22272
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22273
+ }>;
22274
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22275
+ }>>;
22276
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22277
+ getModel: () => Readonly<{
22278
+ getName: () => string;
22279
+ getSingularName: () => string;
22280
+ getDisplayName: () => string;
22281
+ getPrimaryKeyName: () => string;
22282
+ getModelDefinition: () => Readonly<{
22283
+ getPrimaryKeyName?: (() => string) | undefined;
22284
+ properties: any & {
22285
+ readonly [x: string]: Readonly<{
22286
+ getConfig: () => object;
22287
+ getChoices: () => readonly (string | number | boolean | null)[];
22288
+ getDefaultValue: () => any;
22289
+ getConstantValue: () => any;
22290
+ getPropertyType: () => string;
22291
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22292
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22293
+ }>;
22294
+ readonly id?: Readonly<{
22295
+ getConfig: () => object;
22296
+ getChoices: () => readonly (string | number | boolean | null)[];
22297
+ getDefaultValue: () => any;
22298
+ getConstantValue: () => any;
22299
+ getPropertyType: () => string;
22300
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22301
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22302
+ }> | undefined;
22303
+ };
22304
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22305
+ singularName?: string | undefined;
22306
+ displayName?: string | undefined;
22307
+ }>;
22308
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22309
+ getOptions: () => object & Readonly<{
22310
+ [s: string]: any;
22311
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22312
+ }>;
22313
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22314
+ }>;
22315
+ }>>;
22316
+ }> & {
22317
+ calculate: CalculateDenormalization<number, T>;
22318
+ };
22319
+ /**
22320
+ * A Denormalized Property that is for integers.
22321
+ * @param calculate - A function that can get a string
22322
+ * @param config - Any configs
22323
+ * @param additionalMetadata - Optional Metadata
22324
+ * @constructor
22325
+ */
22326
+ declare const DenormalizedIntegerProperty: <T extends FunctionalModel>(calculate: CalculateDenormalization<number, T>, config?: PropertyConfig<number>, additionalMetadata?: {}) => Readonly<{
22327
+ getConfig: () => object;
22328
+ getChoices: () => readonly (string | number | boolean | null)[];
22329
+ getDefaultValue: () => number;
22330
+ getConstantValue: () => number;
22331
+ getPropertyType: () => string;
22332
+ createGetter: (value: number, modelData: FunctionalModel, modelInstance: Readonly<{
22333
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22334
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22335
+ };
22336
+ references: Readonly<{
22337
+ [s: string]: () => Maybe<PrimaryKeyType>;
22338
+ }>;
22339
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22340
+ getPrimaryKeyName: () => string;
22341
+ getPrimaryKey: () => PrimaryKeyType;
22342
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22343
+ getName: () => string;
22344
+ getSingularName: () => string;
22345
+ getDisplayName: () => string;
22346
+ getPrimaryKeyName: () => string;
22347
+ getModelDefinition: () => Readonly<{
22348
+ getPrimaryKeyName?: (() => string) | undefined;
22349
+ properties: any & {
22350
+ readonly [x: string]: Readonly<{
22351
+ getConfig: () => object;
22352
+ getChoices: () => readonly (string | number | boolean | null)[];
22353
+ getDefaultValue: () => any;
22354
+ getConstantValue: () => any;
22355
+ getPropertyType: () => string;
22356
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22357
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22358
+ }>;
22359
+ readonly id?: Readonly<{
22360
+ getConfig: () => object;
22361
+ getChoices: () => readonly (string | number | boolean | null)[];
22362
+ getDefaultValue: () => any;
22363
+ getConstantValue: () => any;
22364
+ getPropertyType: () => string;
22365
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22366
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22367
+ }> | undefined;
22368
+ };
22369
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22370
+ singularName?: string | undefined;
22371
+ displayName?: string | undefined;
22372
+ }>;
22373
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22374
+ getOptions: () => object & Readonly<{
22375
+ [s: string]: any;
22376
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22377
+ }>;
22378
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22379
+ }>>;
22380
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22381
+ getModel: () => Readonly<{
22382
+ getName: () => string;
22383
+ getSingularName: () => string;
22384
+ getDisplayName: () => string;
22385
+ getPrimaryKeyName: () => string;
22386
+ getModelDefinition: () => Readonly<{
22387
+ getPrimaryKeyName?: (() => string) | undefined;
22388
+ properties: any & {
22389
+ readonly [x: string]: Readonly<{
22390
+ getConfig: () => object;
22391
+ getChoices: () => readonly (string | number | boolean | null)[];
22392
+ getDefaultValue: () => any;
22393
+ getConstantValue: () => any;
22394
+ getPropertyType: () => string;
22395
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22396
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22397
+ }>;
22398
+ readonly id?: Readonly<{
22399
+ getConfig: () => object;
22400
+ getChoices: () => readonly (string | number | boolean | null)[];
22401
+ getDefaultValue: () => any;
22402
+ getConstantValue: () => any;
22403
+ getPropertyType: () => string;
22404
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22405
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22406
+ }> | undefined;
22407
+ };
22408
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22409
+ singularName?: string | undefined;
22410
+ displayName?: string | undefined;
22411
+ }>;
22412
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22413
+ getOptions: () => object & Readonly<{
22414
+ [s: string]: any;
22415
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22416
+ }>;
22417
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22418
+ }>;
22419
+ }>) => ValueGetter<number, FunctionalModel, Readonly<{
22420
+ getName: () => string;
22421
+ getSingularName: () => string;
22422
+ getDisplayName: () => string;
22423
+ getPrimaryKeyName: () => string;
22424
+ getModelDefinition: () => Readonly<{
22425
+ getPrimaryKeyName?: (() => string) | undefined;
22426
+ properties: any & {
22427
+ readonly [x: string]: Readonly<{
22428
+ getConfig: () => object;
22429
+ getChoices: () => readonly (string | number | boolean | null)[];
22430
+ getDefaultValue: () => any;
22431
+ getConstantValue: () => any;
22432
+ getPropertyType: () => string;
22433
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22434
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22435
+ }>;
22436
+ readonly id?: Readonly<{
22437
+ getConfig: () => object;
22438
+ getChoices: () => readonly (string | number | boolean | null)[];
22439
+ getDefaultValue: () => any;
22440
+ getConstantValue: () => any;
22441
+ getPropertyType: () => string;
22442
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22443
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22444
+ }> | undefined;
22445
+ };
22446
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22447
+ singularName?: string | undefined;
22448
+ displayName?: string | undefined;
22449
+ }>;
22450
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22451
+ getOptions: () => object & Readonly<{
22452
+ [s: string]: any;
22453
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22454
+ }>;
22455
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22456
+ }>, Readonly<{
22457
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22458
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22459
+ };
22460
+ references: Readonly<{
22461
+ [s: string]: () => Maybe<PrimaryKeyType>;
22462
+ }>;
22463
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22464
+ getPrimaryKeyName: () => string;
22465
+ getPrimaryKey: () => PrimaryKeyType;
22466
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22467
+ getName: () => string;
22468
+ getSingularName: () => string;
22469
+ getDisplayName: () => string;
22470
+ getPrimaryKeyName: () => string;
22471
+ getModelDefinition: () => Readonly<{
22472
+ getPrimaryKeyName?: (() => string) | undefined;
22473
+ properties: any & {
22474
+ readonly [x: string]: Readonly<{
22475
+ getConfig: () => object;
22476
+ getChoices: () => readonly (string | number | boolean | null)[];
22477
+ getDefaultValue: () => any;
22478
+ getConstantValue: () => any;
22479
+ getPropertyType: () => string;
22480
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22481
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22482
+ }>;
22483
+ readonly id?: Readonly<{
22484
+ getConfig: () => object;
22485
+ getChoices: () => readonly (string | number | boolean | null)[];
22486
+ getDefaultValue: () => any;
22487
+ getConstantValue: () => any;
22488
+ getPropertyType: () => string;
22489
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22490
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22491
+ }> | undefined;
22492
+ };
22493
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22494
+ singularName?: string | undefined;
22495
+ displayName?: string | undefined;
22496
+ }>;
22497
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22498
+ getOptions: () => object & Readonly<{
22499
+ [s: string]: any;
22500
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22501
+ }>;
22502
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22503
+ }>>;
22504
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22505
+ getModel: () => Readonly<{
22506
+ getName: () => string;
22507
+ getSingularName: () => string;
22508
+ getDisplayName: () => string;
22509
+ getPrimaryKeyName: () => string;
22510
+ getModelDefinition: () => Readonly<{
22511
+ getPrimaryKeyName?: (() => string) | undefined;
22512
+ properties: any & {
22513
+ readonly [x: string]: Readonly<{
22514
+ getConfig: () => object;
22515
+ getChoices: () => readonly (string | number | boolean | null)[];
22516
+ getDefaultValue: () => any;
22517
+ getConstantValue: () => any;
22518
+ getPropertyType: () => string;
22519
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22520
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22521
+ }>;
22522
+ readonly id?: Readonly<{
22523
+ getConfig: () => object;
22524
+ getChoices: () => readonly (string | number | boolean | null)[];
22525
+ getDefaultValue: () => any;
22526
+ getConstantValue: () => any;
22527
+ getPropertyType: () => string;
22528
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22529
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22530
+ }> | undefined;
22531
+ };
22532
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22533
+ singularName?: string | undefined;
22534
+ displayName?: string | undefined;
22535
+ }>;
22536
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22537
+ getOptions: () => object & Readonly<{
22538
+ [s: string]: any;
22539
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22540
+ }>;
22541
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22542
+ }>;
22543
+ }>>;
22544
+ getValidator: (valueGetter: ValueGetter<number, FunctionalModel, Readonly<{
22545
+ getName: () => string;
22546
+ getSingularName: () => string;
22547
+ getDisplayName: () => string;
22548
+ getPrimaryKeyName: () => string;
22549
+ getModelDefinition: () => Readonly<{
22550
+ getPrimaryKeyName?: (() => string) | undefined;
22551
+ properties: any & {
22552
+ readonly [x: string]: Readonly<{
22553
+ getConfig: () => object;
22554
+ getChoices: () => readonly (string | number | boolean | null)[];
22555
+ getDefaultValue: () => any;
22556
+ getConstantValue: () => any;
22557
+ getPropertyType: () => string;
22558
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22559
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22560
+ }>;
22561
+ readonly id?: Readonly<{
22562
+ getConfig: () => object;
22563
+ getChoices: () => readonly (string | number | boolean | null)[];
22564
+ getDefaultValue: () => any;
22565
+ getConstantValue: () => any;
22566
+ getPropertyType: () => string;
22567
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22568
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22569
+ }> | undefined;
22570
+ };
22571
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22572
+ singularName?: string | undefined;
22573
+ displayName?: string | undefined;
22574
+ }>;
22575
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22576
+ getOptions: () => object & Readonly<{
22577
+ [s: string]: any;
22578
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22579
+ }>;
22580
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22581
+ }>, Readonly<{
22582
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22583
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22584
+ };
22585
+ references: Readonly<{
22586
+ [s: string]: () => Maybe<PrimaryKeyType>;
22587
+ }>;
22588
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22589
+ getPrimaryKeyName: () => string;
22590
+ getPrimaryKey: () => PrimaryKeyType;
22591
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22592
+ getName: () => string;
22593
+ getSingularName: () => string;
22594
+ getDisplayName: () => string;
22595
+ getPrimaryKeyName: () => string;
22596
+ getModelDefinition: () => Readonly<{
22597
+ getPrimaryKeyName?: (() => string) | undefined;
22598
+ properties: any & {
22599
+ readonly [x: string]: Readonly<{
22600
+ getConfig: () => object;
22601
+ getChoices: () => readonly (string | number | boolean | null)[];
22602
+ getDefaultValue: () => any;
22603
+ getConstantValue: () => any;
22604
+ getPropertyType: () => string;
22605
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22606
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22607
+ }>;
22608
+ readonly id?: Readonly<{
22609
+ getConfig: () => object;
22610
+ getChoices: () => readonly (string | number | boolean | null)[];
22611
+ getDefaultValue: () => any;
22612
+ getConstantValue: () => any;
22613
+ getPropertyType: () => string;
22614
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22615
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22616
+ }> | undefined;
22617
+ };
22618
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22619
+ singularName?: string | undefined;
22620
+ displayName?: string | undefined;
22621
+ }>;
22622
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22623
+ getOptions: () => object & Readonly<{
22624
+ [s: string]: any;
22625
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22626
+ }>;
22627
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22628
+ }>>;
22629
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22630
+ getModel: () => Readonly<{
22631
+ getName: () => string;
22632
+ getSingularName: () => string;
22633
+ getDisplayName: () => string;
22634
+ getPrimaryKeyName: () => string;
22635
+ getModelDefinition: () => Readonly<{
22636
+ getPrimaryKeyName?: (() => string) | undefined;
22637
+ properties: any & {
22638
+ readonly [x: string]: Readonly<{
22639
+ getConfig: () => object;
22640
+ getChoices: () => readonly (string | number | boolean | null)[];
22641
+ getDefaultValue: () => any;
22642
+ getConstantValue: () => any;
22643
+ getPropertyType: () => string;
22644
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22645
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22646
+ }>;
22647
+ readonly id?: Readonly<{
22648
+ getConfig: () => object;
22649
+ getChoices: () => readonly (string | number | boolean | null)[];
22650
+ getDefaultValue: () => any;
22651
+ getConstantValue: () => any;
22652
+ getPropertyType: () => string;
22653
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22654
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22655
+ }> | undefined;
22656
+ };
22657
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22658
+ singularName?: string | undefined;
22659
+ displayName?: string | undefined;
22660
+ }>;
22661
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22662
+ getOptions: () => object & Readonly<{
22663
+ [s: string]: any;
22664
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22665
+ }>;
22666
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22667
+ }>;
22668
+ }>>) => PropertyValidator<FunctionalModel, Readonly<{
22669
+ getName: () => string;
22670
+ getSingularName: () => string;
22671
+ getDisplayName: () => string;
22672
+ getPrimaryKeyName: () => string;
22673
+ getModelDefinition: () => Readonly<{
22674
+ getPrimaryKeyName?: (() => string) | undefined;
22675
+ properties: any & {
22676
+ readonly [x: string]: Readonly<{
22677
+ getConfig: () => object;
22678
+ getChoices: () => readonly (string | number | boolean | null)[];
22679
+ getDefaultValue: () => any;
22680
+ getConstantValue: () => any;
22681
+ getPropertyType: () => string;
22682
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22683
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22684
+ }>;
22685
+ readonly id?: Readonly<{
22686
+ getConfig: () => object;
22687
+ getChoices: () => readonly (string | number | boolean | null)[];
22688
+ getDefaultValue: () => any;
22689
+ getConstantValue: () => any;
22690
+ getPropertyType: () => string;
22691
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22692
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22693
+ }> | undefined;
22694
+ };
22695
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22696
+ singularName?: string | undefined;
22697
+ displayName?: string | undefined;
22698
+ }>;
22699
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22700
+ getOptions: () => object & Readonly<{
22701
+ [s: string]: any;
22702
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22703
+ }>;
22704
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22705
+ }>, Readonly<{
22706
+ get: import("./interfaces").PropertyGetters<FunctionalModel> & {
22707
+ id?: (() => import("./interfaces").MaybePromise<PrimaryKeyType>) | undefined;
22708
+ };
22709
+ references: Readonly<{
22710
+ [s: string]: () => Maybe<PrimaryKeyType>;
22711
+ }>;
22712
+ toObj: import("./interfaces").toObj<FunctionalModel>;
22713
+ getPrimaryKeyName: () => string;
22714
+ getPrimaryKey: () => PrimaryKeyType;
22715
+ validators: import("./interfaces").PropertyValidators<FunctionalModel, Readonly<{
22716
+ getName: () => string;
22717
+ getSingularName: () => string;
22718
+ getDisplayName: () => string;
22719
+ getPrimaryKeyName: () => string;
22720
+ getModelDefinition: () => Readonly<{
22721
+ getPrimaryKeyName?: (() => string) | undefined;
22722
+ properties: any & {
22723
+ readonly [x: string]: Readonly<{
22724
+ getConfig: () => object;
22725
+ getChoices: () => readonly (string | number | boolean | null)[];
22726
+ getDefaultValue: () => any;
22727
+ getConstantValue: () => any;
22728
+ getPropertyType: () => string;
22729
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22730
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22731
+ }>;
22732
+ readonly id?: Readonly<{
22733
+ getConfig: () => object;
22734
+ getChoices: () => readonly (string | number | boolean | null)[];
22735
+ getDefaultValue: () => any;
22736
+ getConstantValue: () => any;
22737
+ getPropertyType: () => string;
22738
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22739
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22740
+ }> | undefined;
22741
+ };
22742
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22743
+ singularName?: string | undefined;
22744
+ displayName?: string | undefined;
22745
+ }>;
22746
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22747
+ getOptions: () => object & Readonly<{
22748
+ [s: string]: any;
22749
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22750
+ }>;
22751
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22752
+ }>>;
22753
+ validate: (options?: object | undefined) => Promise<import("./interfaces").ModelErrors<FunctionalModel>>;
22754
+ getModel: () => Readonly<{
22755
+ getName: () => string;
22756
+ getSingularName: () => string;
22757
+ getDisplayName: () => string;
22758
+ getPrimaryKeyName: () => string;
22759
+ getModelDefinition: () => Readonly<{
22760
+ getPrimaryKeyName?: (() => string) | undefined;
22761
+ properties: any & {
22762
+ readonly [x: string]: Readonly<{
22763
+ getConfig: () => object;
22764
+ getChoices: () => readonly (string | number | boolean | null)[];
22765
+ getDefaultValue: () => any;
22766
+ getConstantValue: () => any;
22767
+ getPropertyType: () => string;
22768
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22769
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22770
+ }>;
22771
+ readonly id?: Readonly<{
22772
+ getConfig: () => object;
22773
+ getChoices: () => readonly (string | number | boolean | null)[];
22774
+ getDefaultValue: () => any;
22775
+ getConstantValue: () => any;
22776
+ getPropertyType: () => string;
22777
+ createGetter: (value: any, modelData: FunctionalModel, modelInstance: Readonly<any>) => ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>;
22778
+ getValidator: (valueGetter: ValueGetter<any, FunctionalModel, Readonly<any>, Readonly<any>>) => PropertyValidator<FunctionalModel, Readonly<any>, Readonly<any>>;
22779
+ }> | undefined;
22780
+ };
22781
+ modelValidators?: readonly import("./interfaces").ModelValidatorComponent<FunctionalModel, Readonly<any>, Readonly<any>>[] | undefined;
22782
+ singularName?: string | undefined;
22783
+ displayName?: string | undefined;
22784
+ }>;
22785
+ getPrimaryKey: (t: FunctionalModel | TypedJsonObj<FunctionalModel>) => PrimaryKeyType;
22786
+ getOptions: () => object & Readonly<{
22787
+ [s: string]: any;
22788
+ instanceCreatedCallback: import("./interfaces").Nullable<Arrayable<(instance: Readonly<any>) => void>>;
22789
+ }>;
22790
+ create: (data: import("./interfaces").CreateParams<FunctionalModel>) => Readonly<any>;
22791
+ }>;
22792
+ }>>;
22793
+ }> & {
22794
+ calculate: CalculateDenormalization<number, T>;
22795
+ };
20886
22796
  /**
20887
22797
  * An Id that is naturally formed by the other properties within a model.
20888
22798
  * Instead of having a "globally unique" id the model is unique because
@@ -21835,4 +23745,4 @@ declare const UniqueIdProperty: <TModifier extends PropertyModifier<string>>(con
21835
23745
  }>;
21836
23746
  }>>;
21837
23747
  }>;
21838
- export { Property, NaturalIdProperty, UniqueId, UniqueIdProperty, DateProperty, ArrayProperty, ModelReferenceProperty, AdvancedModelReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, };
23748
+ export { Property, NaturalIdProperty, UniqueId, UniqueIdProperty, DateProperty, ArrayProperty, ModelReferenceProperty, AdvancedModelReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, DenormalizedProperty, DenormalizedIntegerProperty, DenormalizedNumberProperty, DenormalizedTextProperty, };