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