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