import { SigningStargateClient } from "@cosmjs/stargate";
import { AccountData } from "@cosmjs/amino/build/signer";
import { StdFee } from "@cosmjs/amino/build/signdoc";
import { TxPromise } from "../../../../../utils/helper";
import { kyve } from "@kyve/proto";
import MsgStake = kyve.registry.v1beta1.kyveStakers.MsgCreateStaker;
import MsgUpdateMetadata = kyve.registry.v1beta1.kyveStakers.MsgUpdateMetadata;
import MsgUpdateCommission = kyve.registry.v1beta1.kyveStakers.MsgUpdateCommission;
import MsgJoinPool = kyve.registry.v1beta1.kyveStakers.MsgJoinPool;
import MsgLeavePool = kyve.registry.v1beta1.kyveStakers.MsgLeavePool;
export default class {
    private nativeClient;
    readonly account: AccountData;
    constructor(client: SigningStargateClient, account: AccountData);
    createStaker(value: Omit<MsgStake, "creator">, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    updateMetadata(value: Omit<MsgUpdateMetadata, "creator">, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    updateCommission(value: Omit<MsgUpdateCommission, "creator">, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    joinPool(value: Omit<MsgJoinPool, "creator">, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    leavePool(value: Omit<MsgLeavePool, "creator">, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
}
