import { TestNestedComplexType , TestNestedComplexTypeField } from './TestNestedComplexType' ; import { ComplexTypeField , ConstructorOrField , DeSerializers , DefaultDeSerializers , DeserializedType , EdmTypeField , Entity , FieldBuilder , FieldOptions , OrderableEdmTypeField , PropertyMetadata } from '@sap-cloud-sdk/odata-v2' ; /**
 * TestComplexType
 */ export interface TestComplexType < DeSerializersT extends DeSerializers = DefaultDeSerializers > { /**
     * String Property.
     */ stringProperty : DeserializedType < DeSerializersT , 'Edm.String' > ; nullable booleanProperty ? : DeserializedType < DeSerializersT , 'Edm.Boolean' > ; nullable guidProperty ? : DeserializedType < DeSerializersT , 'Edm.Guid' > ; nullable int16Property ? : DeserializedType < DeSerializersT , 'Edm.Int16' > ; nullable int32Property ? : DeserializedType < DeSerializersT , 'Edm.Int32' > ; nullable int64Property ? : DeserializedType < DeSerializersT , 'Edm.Int64' > ; nullable decimalProperty ? : DeserializedType < DeSerializersT , 'Edm.Decimal' > ; nullable singleProperty ? : DeserializedType < DeSerializersT , 'Edm.Single' > ; nullable doubleProperty ? : DeserializedType < DeSerializersT , 'Edm.Double' > ; nullable floatProperty ? : DeserializedType < DeSerializersT , 'Edm.Float' > ; nullable timeProperty ? : DeserializedType < DeSerializersT , 'Edm.Time' > ; nullable dateTimeProperty ? : DeserializedType < DeSerializersT , 'Edm.DateTime' > ; nullable dateTimeOffSetProperty ? : DeserializedType < DeSerializersT , 'Edm.DateTimeOffset' > ; nullable byteProperty ? : DeserializedType < DeSerializersT , 'Edm.Byte' > ; nullable sByteProperty ? : DeserializedType < DeSerializersT , 'Edm.SByte' > ; nullable somethingTheSdkDoesNotSupport ? : DeserializedType < DeSerializersT , 'Edm.Any' > ; nullable complexTypeProperty ? : DeserializedType < DeSerializersT , 'API_TEST_SRV.A_TestNestedComplexType' > ; } typeparam export class TestComplexTypeField < EntityT extends Entity , DeSerializersT extends DeSerializers = DefaultDeSerializers , NullableT extends boolean = false , SelectableT extends boolean = false > extends ComplexTypeField < EntityT , DeSerializersT , TestComplexType , NullableT , SelectableT > { private _fieldBuilder : FieldBuilder < this , DeSerializersT > = new FieldBuilder ( this , this . deSerializers ) ; /**
     * Representation of the [[TestComplexType.stringProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ stringProperty : EdmTypeField < EntityT , DeSerializersT , 'Edm.String' , false , false > = this . _fieldBuilder . buildEdmTypeField ( 'StringProperty' , 'Edm.String' , false ) ; /**
     * Representation of the [[TestComplexType.booleanProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ booleanProperty : EdmTypeField < EntityT , DeSerializersT , 'Edm.Boolean' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'BooleanProperty' , 'Edm.Boolean' , true ) ; /**
     * Representation of the [[TestComplexType.guidProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ guidProperty : EdmTypeField < EntityT , DeSerializersT , 'Edm.Guid' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'GuidProperty' , 'Edm.Guid' , true ) ; /**
     * Representation of the [[TestComplexType.int16Property]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ int16Property : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Int16' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'Int16Property' , 'Edm.Int16' , true ) ; /**
     * Representation of the [[TestComplexType.int32Property]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ int32Property : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Int32' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'Int32Property' , 'Edm.Int32' , true ) ; /**
     * Representation of the [[TestComplexType.int64Property]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ int64Property : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Int64' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'Int64Property' , 'Edm.Int64' , true ) ; /**
     * Representation of the [[TestComplexType.decimalProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ decimalProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Decimal' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'DecimalProperty' , 'Edm.Decimal' , true ) ; /**
     * Representation of the [[TestComplexType.singleProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ singleProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Single' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'SingleProperty' , 'Edm.Single' , true ) ; /**
     * Representation of the [[TestComplexType.doubleProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ doubleProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Double' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'DoubleProperty' , 'Edm.Double' , true ) ; /**
     * Representation of the [[TestComplexType.floatProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ floatProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Float' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'FloatProperty' , 'Edm.Float' , true ) ; /**
     * Representation of the [[TestComplexType.timeProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ timeProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Time' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'TimeProperty' , 'Edm.Time' , true ) ; /**
     * Representation of the [[TestComplexType.dateTimeProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ dateTimeProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.DateTime' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'DateTimeProperty' , 'Edm.DateTime' , true ) ; /**
     * Representation of the [[TestComplexType.dateTimeOffSetProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ dateTimeOffSetProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.DateTimeOffset' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'DateTimeOffSetProperty' , 'Edm.DateTimeOffset' , true ) ; /**
     * Representation of the [[TestComplexType.byteProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ byteProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.Byte' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'ByteProperty' , 'Edm.Byte' , true ) ; /**
     * Representation of the [[TestComplexType.sByteProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ sByteProperty : OrderableEdmTypeField < EntityT , DeSerializersT , 'Edm.SByte' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'SByteProperty' , 'Edm.SByte' , true ) ; /**
     * Representation of the [[TestComplexType.somethingTheSdkDoesNotSupport]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ somethingTheSdkDoesNotSupport : EdmTypeField < EntityT , DeSerializersT , 'Edm.Any' , true , false > = this . _fieldBuilder . buildEdmTypeField ( 'SomethingTheSDKDoesNotSupport' , 'Edm.Any' , true ) ; /**
     * Representation of the [[TestComplexType.complexTypeProperty]] property for query construction.
     * Use to reference this property in query operations such as 'filter' in the fluent request API.
     */ complexTypeProperty : TestNestedComplexTypeField < EntityT , DeSerializersT , true , false > = this . _fieldBuilder . buildComplexTypeField ( 'ComplexTypeProperty' , TestNestedComplexTypeField , true ) ; param fieldName param fieldOf constructor ( fieldName , fieldOf , deSerializers , fieldOptions ? ) { super ( fieldName , fieldOf , deSerializers , TestComplexType , fieldOptions ) ; } } export namespace TestComplexType { /**
     * Metadata information on all properties of the `TestComplexType` complex type.
     */ export const _propertyMetadata = [ { originalName : 'StringProperty' , name : 'stringProperty' , type : 'Edm.String' , isCollection : false } , { originalName : 'BooleanProperty' , name : 'booleanProperty' , type : 'Edm.Boolean' , isCollection : false } , { originalName : 'GuidProperty' , name : 'guidProperty' , type : 'Edm.Guid' , isCollection : false } , { originalName : 'Int16Property' , name : 'int16Property' , type : 'Edm.Int16' , isCollection : false } , { originalName : 'Int32Property' , name : 'int32Property' , type : 'Edm.Int32' , isCollection : false } , { originalName : 'Int64Property' , name : 'int64Property' , type : 'Edm.Int64' , isCollection : false } , { originalName : 'DecimalProperty' , name : 'decimalProperty' , type : 'Edm.Decimal' , isCollection : false } , { originalName : 'SingleProperty' , name : 'singleProperty' , type : 'Edm.Single' , isCollection : false } , { originalName : 'DoubleProperty' , name : 'doubleProperty' , type : 'Edm.Double' , isCollection : false } , { originalName : 'FloatProperty' , name : 'floatProperty' , type : 'Edm.Float' , isCollection : false } , { originalName : 'TimeProperty' , name : 'timeProperty' , type : 'Edm.Time' , isCollection : false } , { originalName : 'DateTimeProperty' , name : 'dateTimeProperty' , type : 'Edm.DateTime' , isCollection : false } , { originalName : 'DateTimeOffSetProperty' , name : 'dateTimeOffSetProperty' , type : 'Edm.DateTimeOffset' , isCollection : false } , { originalName : 'ByteProperty' , name : 'byteProperty' , type : 'Edm.Byte' , isCollection : false } , { originalName : 'SByteProperty' , name : 'sByteProperty' , type : 'Edm.SByte' , isCollection : false } , { originalName : 'SomethingTheSDKDoesNotSupport' , name : 'somethingTheSdkDoesNotSupport' , type : 'Edm.Any' , isCollection : false } , { originalName : 'ComplexTypeProperty' , name : 'complexTypeProperty' , type : TestNestedComplexType , isCollection : false } ] ; }