import { SigningStargateClient } from "@cosmjs/stargate";
import { StdFee } from "@cosmjs/amino/build/signdoc";
import { AccountData } from "@cosmjs/amino/build/signer";
import { cosmos as cosmosProto } from "@kyve/proto";
import { TxPromise } from "../../../../../utils/helper";
import { kyve } from "@kyve/proto";
import TextProposal = cosmosProto.registry.v1beta1.cosmosGov.TextProposal;
import ParameterChangeProposal = cosmosProto.registry.v1beta1.cosmosParams.ParameterChangeProposal;
import CreatePoolProposal = kyve.registry.v1beta1.kyveGovPool.CreatePoolProposal;
import CancelPoolUpgradeProposal = kyve.registry.v1beta1.kyveGov.CancelPoolUpgradeProposal;
import PausePoolProposal = kyve.registry.v1beta1.kyveGov.PausePoolProposal;
import ResetPoolProposal = kyve.registry.v1beta1.kyveGov.ResetPoolProposal;
import SchedulePoolUpgradeProposal = kyve.registry.v1beta1.kyveGov.SchedulePoolUpgradeProposal;
import UnpausePoolProposal = kyve.registry.v1beta1.kyveGov.UnpausePoolProposal;
import UpdatePoolProposal = kyve.registry.v1beta1.kyveGov.UpdatePoolProposal;
export default class KyveGovMsg {
    private nativeClient;
    readonly account: AccountData;
    constructor(client: SigningStargateClient, account: AccountData);
    private createGovTx;
    submitTextProposal(amount: string, value: TextProposal, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
        isExpedited?: boolean;
    }): Promise<TxPromise>;
    parameterChangeProposal(amount: string, value: ParameterChangeProposal, options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
        isExpedited?: boolean;
    }): Promise<TxPromise>;
    updatePoolProposal(amount: string, value: UpdatePoolProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    pausePoolProposal(amount: string, value: PausePoolProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    unpausePoolProposal(amount: string, value: UnpausePoolProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    schedulePoolUpgradeProposal(amount: string, value: SchedulePoolUpgradeProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    cancelPoolUpgradeProposal(amount: string, value: CancelPoolUpgradeProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    resetPoolProposal(amount: string, value: ResetPoolProposal, options?: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    createPoolProposal(amount: string, value: CreatePoolProposal, options: {
        isExpedited?: boolean;
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
    govVote(id: string, voteOption: "Yes" | "Abstain" | "No" | "NoWithVeto", options?: {
        fee?: StdFee | "auto" | number;
        memo?: string;
    }): Promise<TxPromise>;
}
