import { JSONSerializable } from '../../util/json';
import { Any } from '@glitterprotocol/glitter.proto/google/protobuf/any';
import { PledgeRequest } from '@glitterprotocol/glitter.proto/glitterchain/consumer/tx';
/**
 * Executes a market swap between 2 denominations at the exchange rate registered by the
 * Oracle module. The account will lose the amount of coins offered, and receive funds
 * in the requested denomination after a swap fee has been applied.
 */
export declare class Pledge extends JSONSerializable<Pledge.Amino, Pledge.Data, Pledge.Proto> {
    params: PledgeRequest;
    /**
     * @param value SQLExecRequest
     */
    constructor(params: PledgeRequest);
    static fromAmino(data: Pledge.Amino, _?: boolean): Pledge;
    toAmino(_?: boolean): Pledge.Amino;
    static fromProto(proto: Pledge.Proto, _?: boolean): Pledge;
    toProto(_?: boolean): Pledge.Proto;
    packAny(isClassic?: boolean): Any;
    static unpackAny(msgAny: Any, isClassic?: boolean): Pledge;
    static fromData(data: Pledge.Data, _?: boolean): Pledge;
    toData(_?: boolean): Pledge.Data;
}
export declare namespace Pledge {
    interface Amino {
        type: 'transfer/Pledge';
        value: {
            fromAddress: string;
            datasetName: string;
            amount: string;
        };
    }
    interface Data {
        '@type': '/glitterchain.consumer.PledgeRequest';
        fromAddress: string;
        datasetName: string;
        amount: string;
    }
    type Proto = PledgeRequest;
}
