description: >
    A test interface
properties:
    - name: SomeValue
      type: int64
    - name: ReadonlyValue
      type: int64
      flags:
          - readonly
          - emits_change
    - name: ConstValue
      type: int64
      flags:
          - const
    - name: Countable
      type: size
    - name: SignedCountable
      type: ssize
    - name: UnsignedInt32
      type: uint32
    - name: UnsignedInt64
      type: uint64
    - name: ObjectPath
      type: object_path
    - name: DoubleAsNAN
      type: double
      default: NaN
    - name: DoubleAsInf
      type: double
      default: Infinity
    - name: DoubleAsNegInf
      type: double
      default: -Infinity
    - name: DoubleAsEpsilon
      type: double
      default: Epsilon

    - name: VariantOfEnums
      type: variant[enum[self.EnumOne], string, enum[self.EnumTwo]]

enumerations:
    - name: EnumOne
      values:
          - name: OneA
          - name: OneB
    - name: EnumTwo
      values:
          - name: TwoA
          - name: TwoB
