import { Coin, CoinAmino } from "../../base/v1beta1/coin";
import { Any, AnyAmino } from "../../../google/protobuf/any";
import { Duration, DurationAmino } from "../../../google/protobuf/duration";
import { DeepPartial } from "../../../helpers";
import { BinaryReader, BinaryWriter } from "../../../binary";
/** VoteOption enumerates the valid vote options for a given governance proposal. */
export declare enum VoteOption {
    /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */
    VOTE_OPTION_UNSPECIFIED = 0,
    /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */
    VOTE_OPTION_YES = 1,
    /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */
    VOTE_OPTION_ABSTAIN = 2,
    /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */
    VOTE_OPTION_NO = 3,
    /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */
    VOTE_OPTION_NO_WITH_VETO = 4,
    UNRECOGNIZED = -1
}
export declare const VoteOptionAmino: typeof VoteOption;
export declare function voteOptionFromJSON(object: any): VoteOption;
export declare function voteOptionToJSON(object: VoteOption): string;
/** ProposalStatus enumerates the valid statuses of a proposal. */
export declare enum ProposalStatus {
    /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */
    PROPOSAL_STATUS_UNSPECIFIED = 0,
    /**
     * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
     * period.
     */
    PROPOSAL_STATUS_DEPOSIT_PERIOD = 1,
    /**
     * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
     * period.
     */
    PROPOSAL_STATUS_VOTING_PERIOD = 2,
    /**
     * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
     * passed.
     */
    PROPOSAL_STATUS_PASSED = 3,
    /**
     * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
     * been rejected.
     */
    PROPOSAL_STATUS_REJECTED = 4,
    /**
     * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
     * failed.
     */
    PROPOSAL_STATUS_FAILED = 5,
    UNRECOGNIZED = -1
}
export declare const ProposalStatusAmino: typeof ProposalStatus;
export declare function proposalStatusFromJSON(object: any): ProposalStatus;
export declare function proposalStatusToJSON(object: ProposalStatus): string;
/**
 * WeightedVoteOption defines a unit of vote for vote split.
 * @name WeightedVoteOption
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.WeightedVoteOption
 */
export interface WeightedVoteOption {
    /**
     * option defines the valid vote options, it must not contain duplicate vote options.
     */
    option: VoteOption;
    /**
     * weight is the vote weight associated with the vote option.
     */
    weight: string;
}
export interface WeightedVoteOptionProtoMsg {
    typeUrl: "/cosmos.gov.v1.WeightedVoteOption";
    value: Uint8Array;
}
/**
 * WeightedVoteOption defines a unit of vote for vote split.
 * @name WeightedVoteOptionAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.WeightedVoteOption
 */
export interface WeightedVoteOptionAmino {
    /**
     * option defines the valid vote options, it must not contain duplicate vote options.
     */
    option: VoteOption;
    /**
     * weight is the vote weight associated with the vote option.
     */
    weight: string;
}
export interface WeightedVoteOptionAminoMsg {
    type: "cosmos-sdk/v1/WeightedVoteOption";
    value: WeightedVoteOptionAmino;
}
/**
 * Deposit defines an amount deposited by an account address to an active
 * proposal.
 * @name Deposit
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Deposit
 */
export interface Deposit {
    /**
     * proposal_id defines the unique id of the proposal.
     */
    proposalId: bigint;
    /**
     * depositor defines the deposit addresses from the proposals.
     */
    depositor: string;
    /**
     * amount to be deposited by depositor.
     */
    amount: Coin[];
}
export interface DepositProtoMsg {
    typeUrl: "/cosmos.gov.v1.Deposit";
    value: Uint8Array;
}
/**
 * Deposit defines an amount deposited by an account address to an active
 * proposal.
 * @name DepositAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Deposit
 */
export interface DepositAmino {
    /**
     * proposal_id defines the unique id of the proposal.
     */
    proposal_id: string;
    /**
     * depositor defines the deposit addresses from the proposals.
     */
    depositor: string;
    /**
     * amount to be deposited by depositor.
     */
    amount: CoinAmino[];
}
export interface DepositAminoMsg {
    type: "cosmos-sdk/v1/Deposit";
    value: DepositAmino;
}
/**
 * Proposal defines the core field members of a governance proposal.
 * @name Proposal
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Proposal
 */
export interface Proposal {
    /**
     * id defines the unique id of the proposal.
     */
    id: bigint;
    /**
     * messages are the arbitrary messages to be executed if the proposal passes.
     */
    messages: Any[];
    /**
     * status defines the proposal status.
     */
    status: ProposalStatus;
    /**
     * final_tally_result is the final tally result of the proposal. When
     * querying a proposal via gRPC, this field is not populated until the
     * proposal's voting period has ended.
     */
    finalTallyResult?: TallyResult;
    /**
     * submit_time is the time of proposal submission.
     */
    submitTime?: Date;
    /**
     * deposit_end_time is the end time for deposition.
     */
    depositEndTime?: Date;
    /**
     * total_deposit is the total deposit on the proposal.
     */
    totalDeposit: Coin[];
    /**
     * voting_start_time is the starting time to vote on a proposal.
     */
    votingStartTime?: Date;
    /**
     * voting_end_time is the end time of voting on a proposal.
     */
    votingEndTime?: Date;
    /**
     * metadata is any arbitrary metadata attached to the proposal.
     * the recommended format of the metadata is to be found here:
     * https://docs.cosmos.network/v0.47/modules/gov#proposal-3
     */
    metadata: string;
    /**
     * title is the title of the proposal
     *
     * Since: cosmos-sdk 0.47
     */
    title: string;
    /**
     * summary is a short summary of the proposal
     *
     * Since: cosmos-sdk 0.47
     */
    summary: string;
    /**
     * proposer is the address of the proposal sumbitter
     *
     * Since: cosmos-sdk 0.47
     */
    proposer: string;
    /**
     * expedited defines if the proposal is expedited
     *
     * Since: cosmos-sdk 0.50
     */
    expedited: boolean;
    /**
     * failed_reason defines the reason why the proposal failed
     *
     * Since: cosmos-sdk 0.50
     */
    failedReason: string;
}
export interface ProposalProtoMsg {
    typeUrl: "/cosmos.gov.v1.Proposal";
    value: Uint8Array;
}
/**
 * Proposal defines the core field members of a governance proposal.
 * @name ProposalAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Proposal
 */
export interface ProposalAmino {
    /**
     * id defines the unique id of the proposal.
     */
    id: string;
    /**
     * messages are the arbitrary messages to be executed if the proposal passes.
     */
    messages: AnyAmino[];
    /**
     * status defines the proposal status.
     */
    status: ProposalStatus;
    /**
     * final_tally_result is the final tally result of the proposal. When
     * querying a proposal via gRPC, this field is not populated until the
     * proposal's voting period has ended.
     */
    final_tally_result?: TallyResultAmino;
    /**
     * submit_time is the time of proposal submission.
     */
    submit_time?: string;
    /**
     * deposit_end_time is the end time for deposition.
     */
    deposit_end_time?: string;
    /**
     * total_deposit is the total deposit on the proposal.
     */
    total_deposit: CoinAmino[];
    /**
     * voting_start_time is the starting time to vote on a proposal.
     */
    voting_start_time?: string;
    /**
     * voting_end_time is the end time of voting on a proposal.
     */
    voting_end_time?: string;
    /**
     * metadata is any arbitrary metadata attached to the proposal.
     * the recommended format of the metadata is to be found here:
     * https://docs.cosmos.network/v0.47/modules/gov#proposal-3
     */
    metadata: string;
    /**
     * title is the title of the proposal
     *
     * Since: cosmos-sdk 0.47
     */
    title: string;
    /**
     * summary is a short summary of the proposal
     *
     * Since: cosmos-sdk 0.47
     */
    summary: string;
    /**
     * proposer is the address of the proposal sumbitter
     *
     * Since: cosmos-sdk 0.47
     */
    proposer: string;
    /**
     * expedited defines if the proposal is expedited
     *
     * Since: cosmos-sdk 0.50
     */
    expedited: boolean;
    /**
     * failed_reason defines the reason why the proposal failed
     *
     * Since: cosmos-sdk 0.50
     */
    failed_reason: string;
}
export interface ProposalAminoMsg {
    type: "cosmos-sdk/v1/Proposal";
    value: ProposalAmino;
}
/**
 * TallyResult defines a standard tally for a governance proposal.
 * @name TallyResult
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyResult
 */
export interface TallyResult {
    /**
     * yes_count is the number of yes votes on a proposal.
     */
    yesCount: string;
    /**
     * abstain_count is the number of abstain votes on a proposal.
     */
    abstainCount: string;
    /**
     * no_count is the number of no votes on a proposal.
     */
    noCount: string;
    /**
     * no_with_veto_count is the number of no with veto votes on a proposal.
     */
    noWithVetoCount: string;
}
export interface TallyResultProtoMsg {
    typeUrl: "/cosmos.gov.v1.TallyResult";
    value: Uint8Array;
}
/**
 * TallyResult defines a standard tally for a governance proposal.
 * @name TallyResultAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyResult
 */
export interface TallyResultAmino {
    /**
     * yes_count is the number of yes votes on a proposal.
     */
    yes_count: string;
    /**
     * abstain_count is the number of abstain votes on a proposal.
     */
    abstain_count: string;
    /**
     * no_count is the number of no votes on a proposal.
     */
    no_count: string;
    /**
     * no_with_veto_count is the number of no with veto votes on a proposal.
     */
    no_with_veto_count: string;
}
export interface TallyResultAminoMsg {
    type: "cosmos-sdk/v1/TallyResult";
    value: TallyResultAmino;
}
/**
 * Vote defines a vote on a governance proposal.
 * A Vote consists of a proposal ID, the voter, and the vote option.
 * @name Vote
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Vote
 */
export interface Vote {
    /**
     * proposal_id defines the unique id of the proposal.
     */
    proposalId: bigint;
    /**
     * voter is the voter address of the proposal.
     */
    voter: string;
    /**
     * options is the weighted vote options.
     */
    options: WeightedVoteOption[];
    /**
     * metadata is any arbitrary metadata attached to the vote.
     * the recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5
     */
    metadata: string;
}
export interface VoteProtoMsg {
    typeUrl: "/cosmos.gov.v1.Vote";
    value: Uint8Array;
}
/**
 * Vote defines a vote on a governance proposal.
 * A Vote consists of a proposal ID, the voter, and the vote option.
 * @name VoteAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Vote
 */
export interface VoteAmino {
    /**
     * proposal_id defines the unique id of the proposal.
     */
    proposal_id: string;
    /**
     * voter is the voter address of the proposal.
     */
    voter: string;
    /**
     * options is the weighted vote options.
     */
    options: WeightedVoteOptionAmino[];
    /**
     * metadata is any arbitrary metadata attached to the vote.
     * the recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5
     */
    metadata: string;
}
export interface VoteAminoMsg {
    type: "cosmos-sdk/v1/Vote";
    value: VoteAmino;
}
/**
 * DepositParams defines the params for deposits on governance proposals.
 * @name DepositParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.DepositParams
 * @deprecated
 */
export interface DepositParams {
    /**
     * Minimum deposit for a proposal to enter voting period.
     */
    minDeposit: Coin[];
    /**
     * Maximum period for Atom holders to deposit on a proposal. Initial value: 2
     * months.
     */
    maxDepositPeriod?: Duration;
}
export interface DepositParamsProtoMsg {
    typeUrl: "/cosmos.gov.v1.DepositParams";
    value: Uint8Array;
}
/**
 * DepositParams defines the params for deposits on governance proposals.
 * @name DepositParamsAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.DepositParams
 * @deprecated
 */
export interface DepositParamsAmino {
    /**
     * Minimum deposit for a proposal to enter voting period.
     */
    min_deposit: CoinAmino[];
    /**
     * Maximum period for Atom holders to deposit on a proposal. Initial value: 2
     * months.
     */
    max_deposit_period?: DurationAmino;
}
export interface DepositParamsAminoMsg {
    type: "cosmos-sdk/v1/DepositParams";
    value: DepositParamsAmino;
}
/**
 * VotingParams defines the params for voting on governance proposals.
 * @name VotingParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.VotingParams
 * @deprecated
 */
export interface VotingParams {
    /**
     * Duration of the voting period.
     */
    votingPeriod?: Duration;
}
export interface VotingParamsProtoMsg {
    typeUrl: "/cosmos.gov.v1.VotingParams";
    value: Uint8Array;
}
/**
 * VotingParams defines the params for voting on governance proposals.
 * @name VotingParamsAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.VotingParams
 * @deprecated
 */
export interface VotingParamsAmino {
    /**
     * Duration of the voting period.
     */
    voting_period?: DurationAmino;
}
export interface VotingParamsAminoMsg {
    type: "cosmos-sdk/v1/VotingParams";
    value: VotingParamsAmino;
}
/**
 * TallyParams defines the params for tallying votes on governance proposals.
 * @name TallyParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyParams
 * @deprecated
 */
export interface TallyParams {
    /**
     * Minimum percentage of total stake needed to vote for a result to be
     * considered valid.
     */
    quorum: string;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
     */
    threshold: string;
    /**
     * Minimum value of Veto votes to Total votes ratio for proposal to be
     * vetoed. Default value: 1/3.
     */
    vetoThreshold: string;
}
export interface TallyParamsProtoMsg {
    typeUrl: "/cosmos.gov.v1.TallyParams";
    value: Uint8Array;
}
/**
 * TallyParams defines the params for tallying votes on governance proposals.
 * @name TallyParamsAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyParams
 * @deprecated
 */
export interface TallyParamsAmino {
    /**
     * Minimum percentage of total stake needed to vote for a result to be
     * considered valid.
     */
    quorum: string;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
     */
    threshold: string;
    /**
     * Minimum value of Veto votes to Total votes ratio for proposal to be
     * vetoed. Default value: 1/3.
     */
    veto_threshold: string;
}
export interface TallyParamsAminoMsg {
    type: "cosmos-sdk/v1/TallyParams";
    value: TallyParamsAmino;
}
/**
 * Params defines the parameters for the x/gov module.
 *
 * Since: cosmos-sdk 0.47
 * @name Params
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Params
 */
export interface Params {
    /**
     * Minimum deposit for a proposal to enter voting period.
     */
    minDeposit: Coin[];
    /**
     * Maximum period for Atom holders to deposit on a proposal. Initial value: 2
     * months.
     */
    maxDepositPeriod?: Duration;
    /**
     * Duration of the voting period.
     */
    votingPeriod?: Duration;
    /**
     * Minimum percentage of total stake needed to vote for a result to be
     *  considered valid.
     */
    quorum: string;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
     */
    threshold: string;
    /**
     * Minimum value of Veto votes to Total votes ratio for proposal to be
     *  vetoed. Default value: 1/3.
     */
    vetoThreshold: string;
    /**
     * The ratio representing the proportion of the deposit value that must be paid at proposal submission.
     */
    minInitialDepositRatio: string;
    /**
     * The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.
     *
     * Since: cosmos-sdk 0.50
     */
    proposalCancelRatio: string;
    /**
     * The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.
     * If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.
     *
     * Since: cosmos-sdk 0.50
     */
    proposalCancelDest: string;
    /**
     * Duration of the voting period of an expedited proposal.
     *
     * Since: cosmos-sdk 0.50
     */
    expeditedVotingPeriod?: Duration;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.
     *
     * Since: cosmos-sdk 0.50
     */
    expeditedThreshold: string;
    /**
     * Minimum expedited deposit for a proposal to enter voting period.
     */
    expeditedMinDeposit: Coin[];
    /**
     * burn deposits if a proposal does not meet quorum
     */
    burnVoteQuorum: boolean;
    /**
     * burn deposits if the proposal does not enter voting period
     */
    burnProposalDepositPrevote: boolean;
    /**
     * burn deposits if quorum with vote type no_veto is met
     */
    burnVoteVeto: boolean;
    /**
     * The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.
     * Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be
     * required.
     *
     * Since: cosmos-sdk 0.50
     */
    minDepositRatio: string;
}
export interface ParamsProtoMsg {
    typeUrl: "/cosmos.gov.v1.Params";
    value: Uint8Array;
}
/**
 * Params defines the parameters for the x/gov module.
 *
 * Since: cosmos-sdk 0.47
 * @name ParamsAmino
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Params
 */
export interface ParamsAmino {
    /**
     * Minimum deposit for a proposal to enter voting period.
     */
    min_deposit: CoinAmino[];
    /**
     * Maximum period for Atom holders to deposit on a proposal. Initial value: 2
     * months.
     */
    max_deposit_period?: DurationAmino;
    /**
     * Duration of the voting period.
     */
    voting_period?: DurationAmino;
    /**
     * Minimum percentage of total stake needed to vote for a result to be
     *  considered valid.
     */
    quorum: string;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
     */
    threshold: string;
    /**
     * Minimum value of Veto votes to Total votes ratio for proposal to be
     *  vetoed. Default value: 1/3.
     */
    veto_threshold: string;
    /**
     * The ratio representing the proportion of the deposit value that must be paid at proposal submission.
     */
    min_initial_deposit_ratio: string;
    /**
     * The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.
     *
     * Since: cosmos-sdk 0.50
     */
    proposal_cancel_ratio: string;
    /**
     * The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.
     * If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.
     *
     * Since: cosmos-sdk 0.50
     */
    proposal_cancel_dest: string;
    /**
     * Duration of the voting period of an expedited proposal.
     *
     * Since: cosmos-sdk 0.50
     */
    expedited_voting_period?: DurationAmino;
    /**
     * Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.
     *
     * Since: cosmos-sdk 0.50
     */
    expedited_threshold: string;
    /**
     * Minimum expedited deposit for a proposal to enter voting period.
     */
    expedited_min_deposit: CoinAmino[];
    /**
     * burn deposits if a proposal does not meet quorum
     */
    burn_vote_quorum: boolean;
    /**
     * burn deposits if the proposal does not enter voting period
     */
    burn_proposal_deposit_prevote: boolean;
    /**
     * burn deposits if quorum with vote type no_veto is met
     */
    burn_vote_veto: boolean;
    /**
     * The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.
     * Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be
     * required.
     *
     * Since: cosmos-sdk 0.50
     */
    min_deposit_ratio: string;
}
export interface ParamsAminoMsg {
    type: "cosmos-sdk/v1/Params";
    value: ParamsAmino;
}
/**
 * WeightedVoteOption defines a unit of vote for vote split.
 * @name WeightedVoteOption
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.WeightedVoteOption
 */
export declare const WeightedVoteOption: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is WeightedVoteOption;
    isAmino(o: any): o is WeightedVoteOptionAmino;
    encode(message: WeightedVoteOption, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): WeightedVoteOption;
    fromPartial(object: DeepPartial<WeightedVoteOption>): WeightedVoteOption;
    fromAmino(object: WeightedVoteOptionAmino): WeightedVoteOption;
    toAmino(message: WeightedVoteOption): WeightedVoteOptionAmino;
    fromAminoMsg(object: WeightedVoteOptionAminoMsg): WeightedVoteOption;
    toAminoMsg(message: WeightedVoteOption): WeightedVoteOptionAminoMsg;
    fromProtoMsg(message: WeightedVoteOptionProtoMsg): WeightedVoteOption;
    toProto(message: WeightedVoteOption): Uint8Array;
    toProtoMsg(message: WeightedVoteOption): WeightedVoteOptionProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Deposit defines an amount deposited by an account address to an active
 * proposal.
 * @name Deposit
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Deposit
 */
export declare const Deposit: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Deposit;
    isAmino(o: any): o is DepositAmino;
    encode(message: Deposit, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Deposit;
    fromPartial(object: DeepPartial<Deposit>): Deposit;
    fromAmino(object: DepositAmino): Deposit;
    toAmino(message: Deposit): DepositAmino;
    fromAminoMsg(object: DepositAminoMsg): Deposit;
    toAminoMsg(message: Deposit): DepositAminoMsg;
    fromProtoMsg(message: DepositProtoMsg): Deposit;
    toProto(message: Deposit): Uint8Array;
    toProtoMsg(message: Deposit): DepositProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Proposal defines the core field members of a governance proposal.
 * @name Proposal
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Proposal
 */
export declare const Proposal: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Proposal;
    isAmino(o: any): o is ProposalAmino;
    encode(message: Proposal, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Proposal;
    fromPartial(object: DeepPartial<Proposal>): Proposal;
    fromAmino(object: ProposalAmino): Proposal;
    toAmino(message: Proposal): ProposalAmino;
    fromAminoMsg(object: ProposalAminoMsg): Proposal;
    toAminoMsg(message: Proposal): ProposalAminoMsg;
    fromProtoMsg(message: ProposalProtoMsg): Proposal;
    toProto(message: Proposal): Uint8Array;
    toProtoMsg(message: Proposal): ProposalProtoMsg;
    registerTypeUrl(): void;
};
/**
 * TallyResult defines a standard tally for a governance proposal.
 * @name TallyResult
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyResult
 */
export declare const TallyResult: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is TallyResult;
    isAmino(o: any): o is TallyResultAmino;
    encode(message: TallyResult, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): TallyResult;
    fromPartial(object: DeepPartial<TallyResult>): TallyResult;
    fromAmino(object: TallyResultAmino): TallyResult;
    toAmino(message: TallyResult): TallyResultAmino;
    fromAminoMsg(object: TallyResultAminoMsg): TallyResult;
    toAminoMsg(message: TallyResult): TallyResultAminoMsg;
    fromProtoMsg(message: TallyResultProtoMsg): TallyResult;
    toProto(message: TallyResult): Uint8Array;
    toProtoMsg(message: TallyResult): TallyResultProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Vote defines a vote on a governance proposal.
 * A Vote consists of a proposal ID, the voter, and the vote option.
 * @name Vote
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Vote
 */
export declare const Vote: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Vote;
    isAmino(o: any): o is VoteAmino;
    encode(message: Vote, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Vote;
    fromPartial(object: DeepPartial<Vote>): Vote;
    fromAmino(object: VoteAmino): Vote;
    toAmino(message: Vote): VoteAmino;
    fromAminoMsg(object: VoteAminoMsg): Vote;
    toAminoMsg(message: Vote): VoteAminoMsg;
    fromProtoMsg(message: VoteProtoMsg): Vote;
    toProto(message: Vote): Uint8Array;
    toProtoMsg(message: Vote): VoteProtoMsg;
    registerTypeUrl(): void;
};
/**
 * DepositParams defines the params for deposits on governance proposals.
 * @name DepositParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.DepositParams
 * @deprecated
 */
export declare const DepositParams: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is DepositParams;
    isAmino(o: any): o is DepositParamsAmino;
    encode(message: DepositParams, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DepositParams;
    fromPartial(object: DeepPartial<DepositParams>): DepositParams;
    fromAmino(object: DepositParamsAmino): DepositParams;
    toAmino(message: DepositParams): DepositParamsAmino;
    fromAminoMsg(object: DepositParamsAminoMsg): DepositParams;
    toAminoMsg(message: DepositParams): DepositParamsAminoMsg;
    fromProtoMsg(message: DepositParamsProtoMsg): DepositParams;
    toProto(message: DepositParams): Uint8Array;
    toProtoMsg(message: DepositParams): DepositParamsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * VotingParams defines the params for voting on governance proposals.
 * @name VotingParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.VotingParams
 * @deprecated
 */
export declare const VotingParams: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is VotingParams;
    isAmino(o: any): o is VotingParamsAmino;
    encode(message: VotingParams, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): VotingParams;
    fromPartial(object: DeepPartial<VotingParams>): VotingParams;
    fromAmino(object: VotingParamsAmino): VotingParams;
    toAmino(message: VotingParams): VotingParamsAmino;
    fromAminoMsg(object: VotingParamsAminoMsg): VotingParams;
    toAminoMsg(message: VotingParams): VotingParamsAminoMsg;
    fromProtoMsg(message: VotingParamsProtoMsg): VotingParams;
    toProto(message: VotingParams): Uint8Array;
    toProtoMsg(message: VotingParams): VotingParamsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * TallyParams defines the params for tallying votes on governance proposals.
 * @name TallyParams
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.TallyParams
 * @deprecated
 */
export declare const TallyParams: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is TallyParams;
    isAmino(o: any): o is TallyParamsAmino;
    encode(message: TallyParams, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): TallyParams;
    fromPartial(object: DeepPartial<TallyParams>): TallyParams;
    fromAmino(object: TallyParamsAmino): TallyParams;
    toAmino(message: TallyParams): TallyParamsAmino;
    fromAminoMsg(object: TallyParamsAminoMsg): TallyParams;
    toAminoMsg(message: TallyParams): TallyParamsAminoMsg;
    fromProtoMsg(message: TallyParamsProtoMsg): TallyParams;
    toProto(message: TallyParams): Uint8Array;
    toProtoMsg(message: TallyParams): TallyParamsProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Params defines the parameters for the x/gov module.
 *
 * Since: cosmos-sdk 0.47
 * @name Params
 * @package cosmos.gov.v1
 * @see proto type: cosmos.gov.v1.Params
 */
export declare const Params: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Params;
    isAmino(o: any): o is ParamsAmino;
    encode(message: Params, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Params;
    fromPartial(object: DeepPartial<Params>): Params;
    fromAmino(object: ParamsAmino): Params;
    toAmino(message: Params): ParamsAmino;
    fromAminoMsg(object: ParamsAminoMsg): Params;
    toAminoMsg(message: Params): ParamsAminoMsg;
    fromProtoMsg(message: ParamsProtoMsg): Params;
    toProto(message: Params): Uint8Array;
    toProtoMsg(message: Params): ParamsProtoMsg;
    registerTypeUrl(): void;
};
