import { EncodeObject, GeneratedType } from "@shareledgerjs/signing"; import { Coin } from "@shareledgerjs/types/cosmos/base/v1beta1/coin"; import { MsgBeginRedelegate, MsgCancelUnbondingDelegation, MsgCreateValidator, MsgDelegate, MsgUndelegate } from "@shareledgerjs/types/cosmos/staking/v1beta1/tx"; import Long from "long"; import { BaseClient } from "../../baseclient"; export declare function createStakingTypes(): ReadonlyArray<[string, GeneratedType]>; export declare function createStakingActions(): Record; export interface MsgCreateValidatorEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgCreateValidator"; readonly value: Partial; } export declare function isMsgCreateValidatorEncodeObject(encodeObject: EncodeObject): encodeObject is MsgCreateValidatorEncodeObject; export interface MsgEditValidatorEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgEditValidator"; readonly value: Partial; } export declare function isMsgEditValidatorEncodeObject(encodeObject: EncodeObject): encodeObject is MsgEditValidatorEncodeObject; export interface MsgDelegateEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgDelegate"; readonly value: Partial; } export declare function isMsgDelegateEncodeObject(encodeObject: EncodeObject): encodeObject is MsgDelegateEncodeObject; export interface MsgBeginRedelegateEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgBeginRedelegate"; readonly value: Partial; } export declare function isMsgBeginRedelegateEncodeObject(encodeObject: EncodeObject): encodeObject is MsgBeginRedelegateEncodeObject; export interface MsgUndelegateEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgUndelegate"; readonly value: Partial; } export declare function isMsgUndelegateEncodeObject(encodeObject: EncodeObject): encodeObject is MsgUndelegateEncodeObject; export interface MsgCancelUnbondingDelegationEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"; readonly value: Partial; } export declare function isMsgCancelUnbondingDelegationEncodeObject(encodeObject: EncodeObject): encodeObject is MsgCancelUnbondingDelegationEncodeObject; export interface StakingTxExtensionMethods { delegate(delegatorAddress: string, validatorAddress: string, amount: Coin): MsgDelegateEncodeObject; undelegate(delegatorAddress: string, validatorAddress: string, amount: Coin): MsgUndelegateEncodeObject; beginRedelegate(delegatorAddress: string, validatorSrcAddress: string, validatorDstAddress: string, amount: Coin): MsgBeginRedelegateEncodeObject; cancelUnbondingDelegation(delegatorAddress: string, validatorAddress: string, amount: Coin, creationHeight?: Long): MsgCancelUnbondingDelegationEncodeObject; } export interface StakingTxExtension { readonly staking: StakingTxExtensionMethods; } export declare function StakingTxExtension(constructor: T): T;