// Path: storebox-lib/src/main/java/net/orange_box/storebox/listeners/OnPreferenceValueChangedListener.java
// public interface OnPreferenceValueChangedListener<T> {
//     
//     void onChanged(T newValue);
// }


import net.orange_box.storebox.annotations.method.ClearMethod;
import net.orange_box.storebox.annotations.method.DefaultValue;
import net.orange_box.storebox.annotations.method.KeyByResource;
import net.orange_box.storebox.annotations.method.KeyByString;
import net.orange_box.storebox.annotations.method.RegisterChangeListenerMethod;
import net.orange_box.storebox.annotations.method.UnregisterChangeListenerMethod;
import net.orange_box.storebox.annotations.type.ActivityPreferences;
import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener;
package net.orange_box.storebox.example.proguard;


@ActivityPreferences
interface Preferences {
    
    @KeyByString("int")
    @DefaultValue(R.integer.default_int)
    int getInt();
    
    @KeyByResource(R.string.key_int)
    void setInt(int value);
    
    @RegisterChangeListenerMethod
    @KeyByString("int")
// Path: storebox-lib/src/main/java/net/orange_box/storebox/listeners/OnPreferenceValueChangedListener.java
// public interface OnPreferenceValueChangedListener<T> {
//     
//     void onChanged(T newValue);
// }


// Path: examples/proguard/src/main/java/net/orange_box/storebox/example/proguard/Preferences.java
import net.orange_box.storebox.annotations.method.ClearMethod;
import net.orange_box.storebox.annotations.method.DefaultValue;
import net.orange_box.storebox.annotations.method.KeyByResource;
import net.orange_box.storebox.annotations.method.KeyByString;
import net.orange_box.storebox.annotations.method.RegisterChangeListenerMethod;
import net.orange_box.storebox.annotations.method.UnregisterChangeListenerMethod;
import net.orange_box.storebox.annotations.type.ActivityPreferences;
import net.orange_box.storebox.listeners.OnPreferenceValueChangedListener;

package net.orange_box.storebox.example.proguard;


@ActivityPreferences
interface Preferences {
    
    @KeyByString("int")
    @DefaultValue(R.integer.default_int)
    int getInt();
    
    @KeyByResource(R.string.key_int)
    void setInt(int value);
    
    @RegisterChangeListenerMethod
    @KeyByString("int")
    void regIntListener(OnPreferenceValueChangedListener<Integer> listener);