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