import { MsgMigrateCwContract as BaseMsgMigrateCwContract } from '@routerprotocol/chain-api/routerprotocol/routerchain/rwasm/tx_pb';
import { MsgBase } from '../../MsgBase';
export declare namespace MsgMigrateCwContract {
    interface Params {
        senderAddress: string;
        contractAddress: string;
        codeId: number;
        msg: Object;
    }
    interface DirectSign {
        type: '/routerprotocol.routerchain.rwasm.MsgMigrateCwContract';
        message: BaseMsgMigrateCwContract;
    }
    interface Data extends BaseMsgMigrateCwContract.AsObject {
        '@type': '/routerprotocol.routerchain.rwasm.MsgMigrateCwContract';
    }
    interface Amino extends BaseMsgMigrateCwContract.AsObject {
        type: 'rwasm/MigrateCwContract';
    }
    interface Web3 extends BaseMsgMigrateCwContract.AsObject {
        '@type': '/routerprotocol.routerchain.rwasm.MsgMigrateCwContract';
    }
    type Proto = BaseMsgMigrateCwContract;
}
/**
 * @group Message
 */
export default class MsgMigrateCwContract extends MsgBase<MsgMigrateCwContract.Params, MsgMigrateCwContract.Data, MsgMigrateCwContract.Proto, MsgMigrateCwContract.Amino, MsgMigrateCwContract.DirectSign> {
    static fromJSON(params: MsgMigrateCwContract.Params): MsgMigrateCwContract;
    toProto(): MsgMigrateCwContract.Proto;
    toData(): MsgMigrateCwContract.Data;
    toAmino(): MsgMigrateCwContract.Amino;
    toWeb3(): MsgMigrateCwContract.Web3;
    toDirectSign(): MsgMigrateCwContract.DirectSign;
}
