$TypeDef: $.Shape<
    | {
        type: "Struct";
        value: {
            fields: Field[];
        };
    }
    | {
        type: "Enum";
        value: {
            members: {
                docs: string[];
                fields: Field[];
                index: number;
                name: string;
            }[];
        };
    }
    | {
        type: "Sequence";
        value: {
            typeParam: number;
        };
    }
    | {
        type: "SizedVec";
        value: {
            len: number;
            typeParam: number;
        };
    }
    | {
        type: "Tuple";
        value: {
            fields: number[];
        };
    }
    | {
        type: "Primitive";
        value: {
            kind:
                | "bool"
                | "char"
                | "str"
                | "u8"
                | "u16"
                | "u32"
                | "u64"
                | "u128"
                | "u256"
                | "i8"
                | "i16"
                | "i32"
                | "i64"
                | "i128"
                | "i256";
        };
    }
    | {
        type: "Compact";
        value: {
            typeParam: number;
        };
    }
    | {
        type: "BitSequence";
        value: {
            bitOrderType: number;
            bitStoreType: number;
        };
    },
    | {
        type: "Struct";
        value: {
            fields: Field[];
        };
    }
    | {
        type: "Enum";
        value: {
            members: {
                docs: string[];
                fields: Field[];
                index: number;
                name: string;
            }[];
        };
    }
    | {
        type: "Sequence";
        value: {
            typeParam: number;
        };
    }
    | {
        type: "SizedVec";
        value: {
            len: number;
            typeParam: number;
        };
    }
    | {
        type: "Tuple";
        value: {
            fields: number[];
        };
    }
    | {
        type: "Primitive";
        value: {
            kind:
                | "bool"
                | "char"
                | "str"
                | "u8"
                | "u16"
                | "u32"
                | "u64"
                | "u128"
                | "u256"
                | "i8"
                | "i16"
                | "i32"
                | "i64"
                | "i128"
                | "i256";
        };
    }
    | {
        type: "Compact";
        value: {
            typeParam: number;
        };
    }
    | {
        type: "BitSequence";
        value: {
            bitOrderType: number;
            bitStoreType: number;
        };
    }> = ...