import * as _m0 from "protobufjs/minimal";
import { DeepPartial } from "../../helpers";
/** StakingTier defines all staking levels of a fee tier */
export interface StakingTier {
    /** Which fee tier this corresponds to */
    feeTierName: string;
    /**
     * Staking levels for this tier (in strictly increasing order of staking
     * requirement)
     */
    levels: StakingLevel[];
}
/** StakingTier defines all staking levels of a fee tier */
export interface StakingTierSDKType {
    fee_tier_name: string;
    levels: StakingLevelSDKType[];
}
/**
 * StakingLevel defines how many staked native tokens qualifies for how much
 * discount
 */
export interface StakingLevel {
    /** Minimum native tokens to stake (in base unit) */
    minStakedBaseTokens: Uint8Array;
    /** Fee discount in ppm (e.g. 1_000_000 is 100% discount) */
    feeDiscountPpm: number;
}
/**
 * StakingLevel defines how many staked native tokens qualifies for how much
 * discount
 */
export interface StakingLevelSDKType {
    min_staked_base_tokens: Uint8Array;
    fee_discount_ppm: number;
}
export declare const StakingTier: {
    encode(message: StakingTier, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StakingTier;
    fromPartial(object: DeepPartial<StakingTier>): StakingTier;
};
export declare const StakingLevel: {
    encode(message: StakingLevel, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StakingLevel;
    fromPartial(object: DeepPartial<StakingLevel>): StakingLevel;
};
//# sourceMappingURL=staking_tier.d.ts.map