DeclaraCAD is built on OpenCASCADE. At a very minimum you should understand the basic topology used by OpenCASCADE as it's often needed to build shapes which depend on parts of another shape.

These are:

Shape Open CASCADE Technology Class Description
Vertex TopoDS_Vertex Zero dimensional shape corresponding to a point in geometry.
Edge TopoDS_Edge One-dimensional shape corresponding to a curve and bounded by a vertex at each extremity.
Wire TopoDS_Wire Sequence of edges connected by vertices.
Face TopoDS_Face Part of a surface bounded by a closed wire(s).
Shell TopoDS_Shell Set of faces connected by edges.
Solid TopoDS_Solid Part of 3D space bounded by Shells.
CompSolid TopoDS_CompSolid Set of solids connected by their faces.
Compound TopoDS_Compound Set of any other shapes described above.

I recommend scanning through the bottle tutorial to get a better idea of what these mean.

The actual OpenCASCADE shape created can be retrieved from any DeclaraCAD declaration using the proxy.shape attribute. Most of the time this is not needed but sometimes it is.

The topology of the can be explored using self.topology.<type>. For example self.topology.faces will retrieve a list of all faces within the created shape.

More documentation can be found at OpenCASCADE Documentation.