import { BinaryReader, BinaryWriter } from "../../../../binary";
import { DeepPartial } from "../../../../helpers";
/**
 * FungibleTokenPacketData defines a struct for the packet payload
 * See FungibleTokenPacketData spec:
 * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures
 * @name FungibleTokenPacketData
 * @package ibc.applications.transfer.v1
 * @see proto type: ibc.applications.transfer.v1.FungibleTokenPacketData
 */
export interface FungibleTokenPacketData {
    /**
     * the token denomination to be transferred
     */
    denom: string;
    /**
     * the token amount to be transferred
     */
    amount: string;
    /**
     * the sender address
     */
    sender: string;
    /**
     * the recipient address on the destination chain
     */
    receiver: string;
    /**
     * optional memo
     */
    memo: string;
}
export interface FungibleTokenPacketDataProtoMsg {
    typeUrl: "/ibc.applications.transfer.v1.FungibleTokenPacketData";
    value: Uint8Array;
}
/**
 * FungibleTokenPacketData defines a struct for the packet payload
 * See FungibleTokenPacketData spec:
 * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures
 * @name FungibleTokenPacketDataAmino
 * @package ibc.applications.transfer.v1
 * @see proto type: ibc.applications.transfer.v1.FungibleTokenPacketData
 */
export interface FungibleTokenPacketDataAmino {
    /**
     * the token denomination to be transferred
     */
    denom: string;
    /**
     * the token amount to be transferred
     */
    amount: string;
    /**
     * the sender address
     */
    sender: string;
    /**
     * the recipient address on the destination chain
     */
    receiver: string;
    /**
     * optional memo
     */
    memo: string;
}
export interface FungibleTokenPacketDataAminoMsg {
    type: "cosmos-sdk/FungibleTokenPacketData";
    value: FungibleTokenPacketDataAmino;
}
/**
 * FungibleTokenPacketData defines a struct for the packet payload
 * See FungibleTokenPacketData spec:
 * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures
 * @name FungibleTokenPacketData
 * @package ibc.applications.transfer.v1
 * @see proto type: ibc.applications.transfer.v1.FungibleTokenPacketData
 */
export declare const FungibleTokenPacketData: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is FungibleTokenPacketData;
    isAmino(o: any): o is FungibleTokenPacketDataAmino;
    encode(message: FungibleTokenPacketData, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): FungibleTokenPacketData;
    fromPartial(object: DeepPartial<FungibleTokenPacketData>): FungibleTokenPacketData;
    fromAmino(object: FungibleTokenPacketDataAmino): FungibleTokenPacketData;
    toAmino(message: FungibleTokenPacketData): FungibleTokenPacketDataAmino;
    fromAminoMsg(object: FungibleTokenPacketDataAminoMsg): FungibleTokenPacketData;
    toAminoMsg(message: FungibleTokenPacketData): FungibleTokenPacketDataAminoMsg;
    fromProtoMsg(message: FungibleTokenPacketDataProtoMsg): FungibleTokenPacketData;
    toProto(message: FungibleTokenPacketData): Uint8Array;
    toProtoMsg(message: FungibleTokenPacketData): FungibleTokenPacketDataProtoMsg;
    registerTypeUrl(): void;
};
