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