import { Coin, CoinAmino, CoinSDKType } from "../../../cosmos/base/v1beta1/coin"; import { Policy, PolicyAmino, PolicySDKType } from "./policy"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { JsonSafe } from "../../../json-safe"; /** * The geolocation values are encoded as bits in a bitmask, with two special values: * GLS is set to 0 so it will be restrictive with the AND operator. * GL is set to -1 so it will be permissive with the AND operator. */ export declare enum Geolocation { /** GLS - Global-strict */ GLS = 0, /** USC - US-Center */ USC = 1, EU = 2, /** USE - US-East */ USE = 4, /** USW - US-West */ USW = 8, AF = 16, AS = 32, /** AU - (includes NZ) */ AU = 64, /** GL - Global */ GL = 65535, UNRECOGNIZED = -1 } export declare const GeolocationSDKType: typeof Geolocation; export declare const GeolocationAmino: typeof Geolocation; export declare function geolocationFromJSON(object: any): Geolocation; export declare function geolocationToJSON(object: Geolocation): string; export interface Plan { index: string; /** the epoch that this plan was created */ block: bigint; /** plan price (in ulava) */ price: Coin; /** allow CU overuse flag */ allowOveruse: boolean; /** price of CU overuse */ overuseRate: bigint; /** plan description (for humans) */ description: string; /** plan type */ type: string; /** discount for buying the plan for a year */ annualDiscountPercentage: bigint; planPolicy: Policy; /** number of allowed projects */ projectsLimit: bigint; /** set of addresses that are the only allowed buyers for the plan (empty list = everyone is allowed) */ allowedBuyers: string[]; } export interface PlanProtoMsg { typeUrl: "/lavanet.lava.plans.Plan"; value: Uint8Array; } export interface PlanAmino { index: string; /** the epoch that this plan was created */ block: string; /** plan price (in ulava) */ price: CoinAmino; /** allow CU overuse flag */ allow_overuse: boolean; /** price of CU overuse */ overuse_rate: string; /** plan description (for humans) */ description: string; /** plan type */ type: string; /** discount for buying the plan for a year */ annual_discount_percentage: string; plan_policy: PolicyAmino; /** number of allowed projects */ projects_limit: string; /** set of addresses that are the only allowed buyers for the plan (empty list = everyone is allowed) */ allowed_buyers: string[]; } export interface PlanAminoMsg { type: "/lavanet.lava.plans.Plan"; value: PlanAmino; } export interface PlanSDKType { index: string; block: bigint; price: CoinSDKType; allow_overuse: boolean; overuse_rate: bigint; description: string; type: string; annual_discount_percentage: bigint; plan_policy: PolicySDKType; projects_limit: bigint; allowed_buyers: string[]; } export declare const Plan: { typeUrl: string; encode(message: Plan, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Plan; fromJSON(object: any): Plan; toJSON(message: Plan): JsonSafe; fromPartial(object: Partial): Plan; fromAmino(object: PlanAmino): Plan; toAmino(message: Plan): PlanAmino; fromAminoMsg(object: PlanAminoMsg): Plan; fromProtoMsg(message: PlanProtoMsg): Plan; toProto(message: Plan): Uint8Array; toProtoMsg(message: Plan): PlanProtoMsg; };