public object Delegates { public final fun notNull(): kotlin.properties.ReadWriteProperty public final inline fun observable(initialValue: T, crossinline onChange: (property: kotlin.reflect.KProperty<*>, oldValue: T, newValue: T) -> kotlin.Unit): kotlin.properties.ReadWriteProperty public final inline fun vetoable(initialValue: T, crossinline onChange: (property: kotlin.reflect.KProperty<*>, oldValue: T, newValue: T) -> kotlin.Boolean): kotlin.properties.ReadWriteProperty } public abstract class ObservableProperty : kotlin.properties.ReadWriteProperty { public constructor ObservableProperty(initialValue: V) protected open fun afterChange(property: kotlin.reflect.KProperty<*>, oldValue: V, newValue: V): kotlin.Unit protected open fun beforeChange(property: kotlin.reflect.KProperty<*>, oldValue: V, newValue: V): kotlin.Boolean public open override operator fun getValue(thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V public open override operator fun setValue(thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V): kotlin.Unit } @kotlin.SinceKotlin(version = "1.4") public fun interface PropertyDelegateProvider { public abstract operator fun provideDelegate(thisRef: T, property: kotlin.reflect.KProperty<*>): D } public fun interface ReadOnlyProperty { public abstract operator fun getValue(thisRef: T, property: kotlin.reflect.KProperty<*>): V } public interface ReadWriteProperty : kotlin.properties.ReadOnlyProperty { public abstract override operator fun getValue(thisRef: T, property: kotlin.reflect.KProperty<*>): V public abstract operator fun setValue(thisRef: T, property: kotlin.reflect.KProperty<*>, value: V): kotlin.Unit }