import { Description, CommissionRates } from './staking'; import { Any } from '../../../google/protobuf/any'; import { Coin } from '../../base/v1beta1/coin'; import { Timestamp } from '../../../google/protobuf/timestamp'; import Long from 'long'; import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "cosmos.staking.v1beta1"; /** MsgCreateValidator defines a SDK message for creating a new validator. */ export interface MsgCreateValidator { $type: 'cosmos.staking.v1beta1.MsgCreateValidator'; description?: Description; commission?: CommissionRates; minSelfDelegation: string; delegatorAddress: string; validatorAddress: string; pubkey?: Any; value?: Coin; } /** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ export interface MsgCreateValidatorResponse { $type: 'cosmos.staking.v1beta1.MsgCreateValidatorResponse'; } /** MsgEditValidator defines a SDK message for editing an existing validator. */ export interface MsgEditValidator { $type: 'cosmos.staking.v1beta1.MsgEditValidator'; description?: Description; validatorAddress: string; /** * We pass a reference to the new commission rate and min self delegation as * it's not mandatory to update. If not updated, the deserialized rate will be * zero with no way to distinguish if an update was intended. * REF: #2373 */ commissionRate: string; minSelfDelegation: string; } /** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ export interface MsgEditValidatorResponse { $type: 'cosmos.staking.v1beta1.MsgEditValidatorResponse'; } /** * MsgDelegate defines a SDK message for performing a delegation of coins * from a delegator to a validator. */ export interface MsgDelegate { $type: 'cosmos.staking.v1beta1.MsgDelegate'; delegatorAddress: string; validatorAddress: string; amount?: Coin; } /** MsgDelegateResponse defines the Msg/Delegate response type. */ export interface MsgDelegateResponse { $type: 'cosmos.staking.v1beta1.MsgDelegateResponse'; } /** * MsgBeginRedelegate defines a SDK message for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ export interface MsgBeginRedelegate { $type: 'cosmos.staking.v1beta1.MsgBeginRedelegate'; delegatorAddress: string; validatorSrcAddress: string; validatorDstAddress: string; amount?: Coin; } /** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ export interface MsgBeginRedelegateResponse { $type: 'cosmos.staking.v1beta1.MsgBeginRedelegateResponse'; completionTime?: Timestamp; } /** * MsgUndelegate defines a SDK message for performing an undelegation from a * delegate and a validator. */ export interface MsgUndelegate { $type: 'cosmos.staking.v1beta1.MsgUndelegate'; delegatorAddress: string; validatorAddress: string; amount?: Coin; } /** MsgUndelegateResponse defines the Msg/Undelegate response type. */ export interface MsgUndelegateResponse { $type: 'cosmos.staking.v1beta1.MsgUndelegateResponse'; completionTime?: Timestamp; } export declare const MsgCreateValidator: { $type: "cosmos.staking.v1beta1.MsgCreateValidator"; encode(message: MsgCreateValidator, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateValidator; fromJSON(object: any): MsgCreateValidator; toJSON(message: MsgCreateValidator): unknown; fromPartial]: never; }) | undefined; description?: ({ moniker?: string | undefined; identity?: string | undefined; website?: string | undefined; securityContact?: string | undefined; details?: string | undefined; } & { moniker?: string | undefined; identity?: string | undefined; website?: string | undefined; securityContact?: string | undefined; details?: string | undefined; } & { [K_1 in Exclude]: never; }) | undefined; validatorAddress?: string | undefined; commission?: ({ rate?: string | undefined; maxRate?: string | undefined; maxChangeRate?: string | undefined; } & { rate?: string | undefined; maxRate?: string | undefined; maxChangeRate?: string | undefined; } & { [K_2 in Exclude]: never; }) | undefined; delegatorAddress?: string | undefined; minSelfDelegation?: string | undefined; pubkey?: ({ value?: Uint8Array | undefined; typeUrl?: string | undefined; } & { value?: Uint8Array | undefined; typeUrl?: string | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }>(object: I): MsgCreateValidator; }; export declare const MsgCreateValidatorResponse: { $type: "cosmos.staking.v1beta1.MsgCreateValidatorResponse"; encode(_: MsgCreateValidatorResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateValidatorResponse; fromJSON(_: any): MsgCreateValidatorResponse; toJSON(_: MsgCreateValidatorResponse): unknown; fromPartial]: never; }>(_: I): MsgCreateValidatorResponse; }; export declare const MsgEditValidator: { $type: "cosmos.staking.v1beta1.MsgEditValidator"; encode(message: MsgEditValidator, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditValidator; fromJSON(object: any): MsgEditValidator; toJSON(message: MsgEditValidator): unknown; fromPartial]: never; }) | undefined; validatorAddress?: string | undefined; minSelfDelegation?: string | undefined; commissionRate?: string | undefined; } & { [K_1 in Exclude]: never; }>(object: I): MsgEditValidator; }; export declare const MsgEditValidatorResponse: { $type: "cosmos.staking.v1beta1.MsgEditValidatorResponse"; encode(_: MsgEditValidatorResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditValidatorResponse; fromJSON(_: any): MsgEditValidatorResponse; toJSON(_: MsgEditValidatorResponse): unknown; fromPartial]: never; }>(_: I): MsgEditValidatorResponse; }; export declare const MsgDelegate: { $type: "cosmos.staking.v1beta1.MsgDelegate"; encode(message: MsgDelegate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelegate; fromJSON(object: any): MsgDelegate; toJSON(message: MsgDelegate): unknown; fromPartial]: never; }) | undefined; validatorAddress?: string | undefined; delegatorAddress?: string | undefined; } & { [K_1 in Exclude]: never; }>(object: I): MsgDelegate; }; export declare const MsgDelegateResponse: { $type: "cosmos.staking.v1beta1.MsgDelegateResponse"; encode(_: MsgDelegateResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelegateResponse; fromJSON(_: any): MsgDelegateResponse; toJSON(_: MsgDelegateResponse): unknown; fromPartial]: never; }>(_: I): MsgDelegateResponse; }; export declare const MsgBeginRedelegate: { $type: "cosmos.staking.v1beta1.MsgBeginRedelegate"; encode(message: MsgBeginRedelegate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgBeginRedelegate; fromJSON(object: any): MsgBeginRedelegate; toJSON(message: MsgBeginRedelegate): unknown; fromPartial]: never; }) | undefined; delegatorAddress?: string | undefined; validatorSrcAddress?: string | undefined; validatorDstAddress?: string | undefined; } & { [K_1 in Exclude]: never; }>(object: I): MsgBeginRedelegate; }; export declare const MsgBeginRedelegateResponse: { $type: "cosmos.staking.v1beta1.MsgBeginRedelegateResponse"; encode(message: MsgBeginRedelegateResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgBeginRedelegateResponse; fromJSON(object: any): MsgBeginRedelegateResponse; toJSON(message: MsgBeginRedelegateResponse): unknown; fromPartial Long.Long; and: (other: string | number | Long.Long) => Long.Long; compare: (other: string | number | Long.Long) => number; comp: (other: string | number | Long.Long) => number; divide: (divisor: string | number | Long.Long) => Long.Long; div: (divisor: string | number | Long.Long) => Long.Long; equals: (other: string | number | Long.Long) => boolean; eq: (other: string | number | Long.Long) => boolean; getHighBits: () => number; getHighBitsUnsigned: () => number; getLowBits: () => number; getLowBitsUnsigned: () => number; getNumBitsAbs: () => number; greaterThan: (other: string | number | Long.Long) => boolean; gt: (other: string | number | Long.Long) => boolean; greaterThanOrEqual: (other: string | number | Long.Long) => boolean; gte: (other: string | number | Long.Long) => boolean; isEven: () => boolean; isNegative: () => boolean; isOdd: () => boolean; isPositive: () => boolean; isZero: () => boolean; lessThan: (other: string | number | Long.Long) => boolean; lt: (other: string | number | Long.Long) => boolean; lessThanOrEqual: (other: string | number | Long.Long) => boolean; lte: (other: string | number | Long.Long) => boolean; modulo: (other: string | number | Long.Long) => Long.Long; mod: (other: string | number | Long.Long) => Long.Long; multiply: (multiplier: string | number | Long.Long) => Long.Long; mul: (multiplier: string | number | Long.Long) => Long.Long; negate: () => Long.Long; neg: () => Long.Long; not: () => Long.Long; notEquals: (other: string | number | Long.Long) => boolean; neq: (other: string | number | Long.Long) => boolean; or: (other: string | number | Long.Long) => Long.Long; shiftLeft: (numBits: number | Long.Long) => Long.Long; shl: (numBits: number | Long.Long) => Long.Long; shiftRight: (numBits: number | Long.Long) => Long.Long; shr: (numBits: number | Long.Long) => Long.Long; shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; shru: (numBits: number | Long.Long) => Long.Long; subtract: (subtrahend: string | number | Long.Long) => Long.Long; sub: (subtrahend: string | number | Long.Long) => Long.Long; toInt: () => number; toNumber: () => number; toBytes: (le?: boolean | undefined) => number[]; toBytesLE: () => number[]; toBytesBE: () => number[]; toSigned: () => Long.Long; toString: (radix?: number | undefined) => string; toUnsigned: () => Long.Long; xor: (other: string | number | Long.Long) => Long.Long; } & { [K in Exclude]: never; }) | undefined; nanos?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): MsgBeginRedelegateResponse; }; export declare const MsgUndelegate: { $type: "cosmos.staking.v1beta1.MsgUndelegate"; encode(message: MsgUndelegate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgUndelegate; fromJSON(object: any): MsgUndelegate; toJSON(message: MsgUndelegate): unknown; fromPartial]: never; }) | undefined; validatorAddress?: string | undefined; delegatorAddress?: string | undefined; } & { [K_1 in Exclude]: never; }>(object: I): MsgUndelegate; }; export declare const MsgUndelegateResponse: { $type: "cosmos.staking.v1beta1.MsgUndelegateResponse"; encode(message: MsgUndelegateResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgUndelegateResponse; fromJSON(object: any): MsgUndelegateResponse; toJSON(message: MsgUndelegateResponse): unknown; fromPartial Long.Long; and: (other: string | number | Long.Long) => Long.Long; compare: (other: string | number | Long.Long) => number; comp: (other: string | number | Long.Long) => number; divide: (divisor: string | number | Long.Long) => Long.Long; div: (divisor: string | number | Long.Long) => Long.Long; equals: (other: string | number | Long.Long) => boolean; eq: (other: string | number | Long.Long) => boolean; getHighBits: () => number; getHighBitsUnsigned: () => number; getLowBits: () => number; getLowBitsUnsigned: () => number; getNumBitsAbs: () => number; greaterThan: (other: string | number | Long.Long) => boolean; gt: (other: string | number | Long.Long) => boolean; greaterThanOrEqual: (other: string | number | Long.Long) => boolean; gte: (other: string | number | Long.Long) => boolean; isEven: () => boolean; isNegative: () => boolean; isOdd: () => boolean; isPositive: () => boolean; isZero: () => boolean; lessThan: (other: string | number | Long.Long) => boolean; lt: (other: string | number | Long.Long) => boolean; lessThanOrEqual: (other: string | number | Long.Long) => boolean; lte: (other: string | number | Long.Long) => boolean; modulo: (other: string | number | Long.Long) => Long.Long; mod: (other: string | number | Long.Long) => Long.Long; multiply: (multiplier: string | number | Long.Long) => Long.Long; mul: (multiplier: string | number | Long.Long) => Long.Long; negate: () => Long.Long; neg: () => Long.Long; not: () => Long.Long; notEquals: (other: string | number | Long.Long) => boolean; neq: (other: string | number | Long.Long) => boolean; or: (other: string | number | Long.Long) => Long.Long; shiftLeft: (numBits: number | Long.Long) => Long.Long; shl: (numBits: number | Long.Long) => Long.Long; shiftRight: (numBits: number | Long.Long) => Long.Long; shr: (numBits: number | Long.Long) => Long.Long; shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; shru: (numBits: number | Long.Long) => Long.Long; subtract: (subtrahend: string | number | Long.Long) => Long.Long; sub: (subtrahend: string | number | Long.Long) => Long.Long; toInt: () => number; toNumber: () => number; toBytes: (le?: boolean | undefined) => number[]; toBytesLE: () => number[]; toBytesBE: () => number[]; toSigned: () => Long.Long; toString: (radix?: number | undefined) => string; toUnsigned: () => Long.Long; xor: (other: string | number | Long.Long) => Long.Long; } & { [K in Exclude]: never; }) | undefined; nanos?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): MsgUndelegateResponse; }; /** Msg defines the staking Msg service. */ export interface Msg { /** CreateValidator defines a method for creating a new validator. */ CreateValidator(request: MsgCreateValidator): Promise; /** EditValidator defines a method for editing an existing validator. */ EditValidator(request: MsgEditValidator): Promise; /** * Delegate defines a method for performing a delegation of coins * from a delegator to a validator. */ Delegate(request: MsgDelegate): Promise; /** * BeginRedelegate defines a method for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ BeginRedelegate(request: MsgBeginRedelegate): Promise; /** * Undelegate defines a method for performing an undelegation from a * delegate and a validator. */ Undelegate(request: MsgUndelegate): Promise; } export declare class MsgClientImpl implements Msg { private readonly rpc; constructor(rpc: Rpc); CreateValidator(request: MsgCreateValidator): Promise; EditValidator(request: MsgEditValidator): Promise; Delegate(request: MsgDelegate): Promise; BeginRedelegate(request: MsgBeginRedelegate): Promise; Undelegate(request: MsgUndelegate): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | '$type'>]: never; }; export {};