import { JSONSerializable } from '../../util/json';
import { Any } from '@glitterprotocol/glitter.proto/google/protobuf/any';
import { SQLExecRequest as SQLExecRequest_pb } from '@glitterprotocol/glitter.proto/index/tx';
import { Argument } from '@glitterprotocol/glitter.proto/index/sql_engine';
import { AccAddress } from '../bech32';
/**
 * 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 SQLMsg extends JSONSerializable<SQLMsg.Amino, SQLMsg.Data, SQLMsg.Proto> {
    uid: AccAddress;
    sql: string;
    args?: Argument[] | undefined;
    /**
     * @param value SQLExecRequest
     */
    constructor(uid: AccAddress, sql: string, args?: Argument[] | undefined);
    static fromAmino(data: SQLMsg.Amino, _?: boolean): SQLMsg;
    toAmino(_?: boolean): SQLMsg.Amino;
    static fromProto(proto: SQLMsg.Proto, _?: boolean): SQLMsg;
    toProto(_?: boolean): SQLMsg.Proto;
    packAny(isClassic?: boolean): Any;
    static unpackAny(msgAny: Any, isClassic?: boolean): SQLMsg;
    static fromData(data: SQLMsg.Data, _?: boolean): SQLMsg;
    toData(_?: boolean): SQLMsg.Data;
}
export declare namespace SQLMsg {
    interface Amino {
        type: 'sql/SQLMsg';
        value: {
            uid: AccAddress;
            sql: string;
            arguments: Argument[];
        };
    }
    interface Data {
        '@type': '/blockved.glitterchain.index.SQLExecRequest';
        uid: AccAddress;
        sql: string;
        arguments: Argument[];
    }
    type Proto = SQLExecRequest_pb;
}
