import { BinaryReader, BinaryWriter } from "../../../binary";
/**
* ValidatorPreference defines the message structure for
* CreateValidatorSetPreference. It allows a user to set {val_addr, weight} in
* state. If a user does not have a validator set preference list set, and has
* staked, make their preference list default to their current staking
* distribution.
*/
export interface ValidatorPreference {
/**
* val_oper_address holds the validator address the user wants to delegate
* funds to.
*/
valOperAddress: string;
/** weight is decimal between 0 and 1, and they all sum to 1. */
weight: string;
}
export interface ValidatorPreferenceProtoMsg {
typeUrl: "/osmosis.valsetpref.v1beta1.ValidatorPreference";
value: Uint8Array;
}
/**
* ValidatorPreference defines the message structure for
* CreateValidatorSetPreference. It allows a user to set {val_addr, weight} in
* state. If a user does not have a validator set preference list set, and has
* staked, make their preference list default to their current staking
* distribution.
*/
export interface ValidatorPreferenceAmino {
/**
* val_oper_address holds the validator address the user wants to delegate
* funds to.
*/
val_oper_address?: string;
/** weight is decimal between 0 and 1, and they all sum to 1. */
weight?: string;
}
export interface ValidatorPreferenceAminoMsg {
type: "osmosis/valsetpref/validator-preference";
value: ValidatorPreferenceAmino;
}
/**
* ValidatorPreference defines the message structure for
* CreateValidatorSetPreference. It allows a user to set {val_addr, weight} in
* state. If a user does not have a validator set preference list set, and has
* staked, make their preference list default to their current staking
* distribution.
*/
export interface ValidatorPreferenceSDKType {
val_oper_address: string;
weight: string;
}
/**
* ValidatorSetPreferences defines a delegator's validator set preference.
* It contains a list of (validator, percent_allocation) pairs.
* The percent allocation are arranged in decimal notation from 0 to 1 and must
* add up to 1.
*/
export interface ValidatorSetPreferences {
/** preference holds {valAddr, weight} for the user who created it. */
preferences: ValidatorPreference[];
}
export interface ValidatorSetPreferencesProtoMsg {
typeUrl: "/osmosis.valsetpref.v1beta1.ValidatorSetPreferences";
value: Uint8Array;
}
/**
* ValidatorSetPreferences defines a delegator's validator set preference.
* It contains a list of (validator, percent_allocation) pairs.
* The percent allocation are arranged in decimal notation from 0 to 1 and must
* add up to 1.
*/
export interface ValidatorSetPreferencesAmino {
/** preference holds {valAddr, weight} for the user who created it. */
preferences?: ValidatorPreferenceAmino[];
}
export interface ValidatorSetPreferencesAminoMsg {
type: "osmosis/valsetpref/validator-set-preferences";
value: ValidatorSetPreferencesAmino;
}
/**
* ValidatorSetPreferences defines a delegator's validator set preference.
* It contains a list of (validator, percent_allocation) pairs.
* The percent allocation are arranged in decimal notation from 0 to 1 and must
* add up to 1.
*/
export interface ValidatorSetPreferencesSDKType {
preferences: ValidatorPreferenceSDKType[];
}
export declare const ValidatorPreference: {
typeUrl: string;
aminoType: string;
is(o: any): o is ValidatorPreference;
isSDK(o: any): o is ValidatorPreferenceSDKType;
isAmino(o: any): o is ValidatorPreferenceAmino;
encode(message: ValidatorPreference, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ValidatorPreference;
fromPartial(object: Partial<ValidatorPreference>): ValidatorPreference;
fromAmino(object: ValidatorPreferenceAmino): ValidatorPreference;
toAmino(message: ValidatorPreference): ValidatorPreferenceAmino;
fromAminoMsg(object: ValidatorPreferenceAminoMsg): ValidatorPreference;
toAminoMsg(message: ValidatorPreference): ValidatorPreferenceAminoMsg;
fromProtoMsg(message: ValidatorPreferenceProtoMsg): ValidatorPreference;
toProto(message: ValidatorPreference): Uint8Array;
toProtoMsg(message: ValidatorPreference): ValidatorPreferenceProtoMsg;
};
export declare const ValidatorSetPreferences: {
typeUrl: string;
aminoType: string;
is(o: any): o is ValidatorSetPreferences;
isSDK(o: any): o is ValidatorSetPreferencesSDKType;
isAmino(o: any): o is ValidatorSetPreferencesAmino;
encode(message: ValidatorSetPreferences, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSetPreferences;
fromPartial(object: Partial<ValidatorSetPreferences>): ValidatorSetPreferences;
fromAmino(object: ValidatorSetPreferencesAmino): ValidatorSetPreferences;
toAmino(message: ValidatorSetPreferences): ValidatorSetPreferencesAmino;
fromAminoMsg(object: ValidatorSetPreferencesAminoMsg): ValidatorSetPreferences;
toAminoMsg(message: ValidatorSetPreferences): ValidatorSetPreferencesAminoMsg;
fromProtoMsg(message: ValidatorSetPreferencesProtoMsg): ValidatorSetPreferences;
toProto(message: ValidatorSetPreferences): Uint8Array;
toProtoMsg(message: ValidatorSetPreferences): ValidatorSetPreferencesProtoMsg;
};