functional-models 2.1.6 → 2.1.8

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
@@ -20886,10 +20886,10 @@ declare const AdvancedModelReferenceProperty: <T extends FunctionalModel, TModel
20886
20886
  }>>>>(model: MaybeFunction<TModel>, config?: PropertyConfig<TModifier>, additionalMetadata?: {}) => ModelReferencePropertyInstance<T, TModifier, TModel, TModelInstance>;
20887
20887
  /**
20888
20888
  * A property for denormalizing values.
20889
- * @param propertyType
20890
- * @param calculate
20891
- * @param config
20892
- * @param additionalMetadata
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
20893
  * @constructor
20894
20894
  */
20895
20895
  declare const DenormalizedProperty: <T extends FunctionalValue, TModel extends FunctionalModel>(propertyType: string, calculate: CalculateDenormalization<T, TModel>, config?: PropertyConfig<T>, additionalMetadata?: {}) => Readonly<{
@@ -21362,6 +21362,1437 @@ declare const DenormalizedProperty: <T extends FunctionalValue, TModel extends F
21362
21362
  }> & {
21363
21363
  calculate: CalculateDenormalization<T, TModel>;
21364
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
+ };
21365
22796
  /**
21366
22797
  * An Id that is naturally formed by the other properties within a model.
21367
22798
  * Instead of having a "globally unique" id the model is unique because
@@ -22314,4 +23745,4 @@ declare const UniqueIdProperty: <TModifier extends PropertyModifier<string>>(con
22314
23745
  }>;
22315
23746
  }>>;
22316
23747
  }>;
22317
- export { Property, NaturalIdProperty, UniqueId, UniqueIdProperty, DateProperty, ArrayProperty, ModelReferenceProperty, AdvancedModelReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, DenormalizedProperty, };
23748
+ export { Property, NaturalIdProperty, UniqueId, UniqueIdProperty, DateProperty, ArrayProperty, ModelReferenceProperty, AdvancedModelReferenceProperty, IntegerProperty, TextProperty, ConstantValueProperty, NumberProperty, ObjectProperty, EmailProperty, BooleanProperty, DenormalizedProperty, DenormalizedIntegerProperty, DenormalizedNumberProperty, DenormalizedTextProperty, };