export declare namespace tensorflow_json {
    interface IAny {
        typeUrl?: (string | null);
        value?: (Uint8Array | null);
    }
    enum DataType {
        DT_INVALID = 0,
        DT_FLOAT = 1,
        DT_DOUBLE = 2,
        DT_INT32 = 3,
        DT_UINT8 = 4,
        DT_INT16 = 5,
        DT_INT8 = 6,
        DT_STRING = 7,
        DT_COMPLEX64 = 8,
        DT_INT64 = 9,
        DT_BOOL = 10,
        DT_QINT8 = 11,
        DT_QUINT8 = 12,
        DT_QINT32 = 13,
        DT_BFLOAT16 = 14,
        DT_FLOAT_REF = 101,
        DT_DOUBLE_REF = 102,
        DT_INT32_REF = 103,
        DT_UINT8_REF = 104,
        DT_INT16_REF = 105,
        DT_INT8_REF = 106,
        DT_STRING_REF = 107,
        DT_COMPLEX64_REF = 108,
        DT_INT64_REF = 109,
        DT_BOOL_REF = 110,
        DT_QINT8_REF = 111,
        DT_QUINT8_REF = 112,
        DT_QINT32_REF = 113,
        DT_BFLOAT16_REF = 114,
    }
    interface ITensorShape {
        dim?: (tensorflow_json.TensorShape.IDim[] | null);
        unknownRank?: (boolean | null);
    }
    namespace TensorShape {
        interface IDim {
            size?: (number | string | null);
            name?: (string | null);
        }
    }
    interface ITensor {
        dtype?: (tensorflow_json.DataType | null);
        tensorShape?: (tensorflow_json.ITensorShape | null);
        versionNumber?: (number | null);
        tensorContent?: (Uint8Array | null);
        floatVal?: (number[] | null);
        doubleVal?: (number[] | null);
        intVal?: (number[] | null);
        stringVal?: (Uint8Array[] | null);
        scomplexVal?: (number[] | null);
        int64Val?: ((number | string)[] | null);
        boolVal?: (boolean[] | null);
        uint32Val?: (number[] | null);
        uint64Val?: ((number | string)[] | null);
    }
    interface IAttrValue {
        list?: (tensorflow_json.AttrValue.IListValue | null);
        s?: (string | null);
        i?: (number | string | null);
        f?: (number | null);
        b?: (boolean | null);
        type?: (tensorflow_json.DataType | null);
        shape?: (tensorflow_json.ITensorShape | null);
        tensor?: (tensorflow_json.ITensor | null);
        placeholder?: (string | null);
        func?: (tensorflow_json.INameAttrList | null);
    }
    namespace AttrValue {
        interface IListValue {
            s?: (string[] | null);
            i?: ((number | string)[] | null);
            f?: (number[] | null);
            b?: (boolean[] | null);
            type?: (tensorflow_json.DataType[] | null);
            shape?: (tensorflow_json.ITensorShape[] | null);
            tensor?: (tensorflow_json.ITensor[] | null);
            func?: (tensorflow_json.INameAttrList[] | null);
        }
    }
    interface INameAttrList {
        name?: (string | null);
        attr?: ({
            [k: string]: tensorflow_json.IAttrValue;
        } | null);
    }
    interface INodeDef {
        name?: (string | null);
        op?: (string | null);
        input?: (string[] | null);
        device?: (string | null);
        attr?: ({
            [k: string]: tensorflow_json.IAttrValue;
        } | null);
    }
    interface IVersionDef {
        producer?: (number | null);
        minConsumer?: (number | null);
        badConsumers?: (number[] | null);
    }
    interface IGraphDef {
        node?: (tensorflow_json.INodeDef[] | null);
        versions?: (tensorflow_json.IVersionDef | null);
        library?: (tensorflow_json.IFunctionDefLibrary | null);
    }
    interface ICollectionDef {
        nodeList?: (tensorflow_json.CollectionDef.INodeList | null);
        bytesList?: (tensorflow_json.CollectionDef.IBytesList | null);
        int64List?: (tensorflow_json.CollectionDef.IInt64List | null);
        floatList?: (tensorflow_json.CollectionDef.IFloatList | null);
        anyList?: (tensorflow_json.CollectionDef.IAnyList | null);
    }
    namespace CollectionDef {
        interface INodeList {
            value?: (string[] | null);
        }
        interface IBytesList {
            value?: (Uint8Array[] | null);
        }
        interface IInt64List {
            value?: ((number | string)[] | null);
        }
        interface IFloatList {
            value?: (number[] | null);
        }
        interface IAnyList {
            value?: (tensorflow_json.IAny[] | null);
        }
    }
    interface ISaverDef {
        filenameTensorName?: (string | null);
        saveTensorName?: (string | null);
        restoreOpName?: (string | null);
        maxToKeep?: (number | null);
        sharded?: (boolean | null);
        keepCheckpointEveryNHours?: (number | null);
        version?: (tensorflow_json.SaverDef.CheckpointFormatVersion | null);
    }
    namespace SaverDef {
        enum CheckpointFormatVersion {
            LEGACY = 0,
            V1 = 1,
            V2 = 2,
        }
    }
    interface ITensorInfo {
        name?: (string | null);
        cooSparse?: (tensorflow_json.TensorInfo.ICooSparse | null);
        dtype?: (tensorflow_json.DataType | null);
        tensorShape?: (tensorflow_json.ITensorShape | null);
    }
    namespace TensorInfo {
        interface ICooSparse {
            valuesTensorName?: (string | null);
            indicesTensorName?: (string | null);
            denseShapeTensorName?: (string | null);
        }
    }
    interface ISignatureDef {
        inputs?: ({
            [k: string]: tensorflow_json.ITensorInfo;
        } | null);
        outputs?: ({
            [k: string]: tensorflow_json.ITensorInfo;
        } | null);
        methodName?: (string | null);
    }
    interface IAssetFileDef {
        tensorInfo?: (tensorflow_json.ITensorInfo | null);
        filename?: (string | null);
    }
    interface IOpDef {
        name?: (string | null);
        inputArg?: (tensorflow_json.OpDef.IArgDef[] | null);
        outputArg?: (tensorflow_json.OpDef.IArgDef[] | null);
        attr?: (tensorflow_json.OpDef.IAttrDef[] | null);
        deprecation?: (tensorflow_json.OpDef.IOpDeprecation | null);
        summary?: (string | null);
        description?: (string | null);
        isCommutative?: (boolean | null);
        isAggregate?: (boolean | null);
        isStateful?: (boolean | null);
        allowsUninitializedInput?: (boolean | null);
    }
    namespace OpDef {
        interface IArgDef {
            name?: (string | null);
            description?: (string | null);
            type?: (tensorflow_json.DataType | null);
            typeAttr?: (string | null);
            numberAttr?: (string | null);
            typeListAttr?: (string | null);
            isRef?: (boolean | null);
        }
        interface IAttrDef {
            name?: (string | null);
            type?: (string | null);
            defaultValue?: (tensorflow_json.IAttrValue | null);
            description?: (string | null);
            hasMinimum?: (boolean | null);
            minimum?: (number | string | null);
            allowedValues?: (tensorflow_json.IAttrValue | null);
        }
        interface IOpDeprecation {
            version?: (number | null);
            explanation?: (string | null);
        }
    }
    interface IOpList {
        op?: (tensorflow_json.IOpDef[] | null);
    }
    interface IMetaGraphDef {
        metaInfoDef?: (tensorflow_json.MetaGraphDef.IMetaInfoDef | null);
        graphDef?: (tensorflow_json.IGraphDef | null);
        saverDef?: (tensorflow_json.ISaverDef | null);
        collectionDef?: ({
            [k: string]: tensorflow_json.ICollectionDef;
        } | null);
        signatureDef?: ({
            [k: string]: tensorflow_json.ISignatureDef;
        } | null);
        assetFileDef?: (tensorflow_json.IAssetFileDef[] | null);
    }
    namespace MetaGraphDef {
        interface IMetaInfoDef {
            metaGraphVersion?: (string | null);
            strippedOpList?: (tensorflow_json.IOpList | null);
            anyInfo?: (tensorflow_json.IAny | null);
            tags?: (string[] | null);
            tensorflowVersion?: (string | null);
            tensorflowGitVersion?: (string | null);
        }
    }
    interface ISavedModel {
        savedModelSchemaVersion?: (number | string | null);
        metaGraphs?: (tensorflow_json.IMetaGraphDef[] | null);
    }
    interface IFunctionDefLibrary {
        'function'?: (tensorflow_json.IFunctionDef[] | null);
        gradient?: (tensorflow_json.IGradientDef[] | null);
    }
    interface IFunctionDef {
        signature?: (tensorflow_json.IOpDef | null);
        attr?: ({
            [k: string]: tensorflow_json.IAttrValue;
        } | null);
        nodeDef?: (tensorflow_json.INodeDef[] | null);
        ret?: ({
            [k: string]: string;
        } | null);
    }
    interface IGradientDef {
        functionName?: (string | null);
        gradientFunc?: (string | null);
    }
}
