Ich verwende hier das Wort Elemente für die Typen/Objekte der API.
Die möglichen Elemente der API unterteilen sich in folgende:
Module:
Hierbei handelt sich um Gruppierungen der anderen Elemente. Diese Gruppierungen sind 
nur 
für die bessere Übersicht gedacht und haben für die Programmierung in StarBasic keinerlei 
Bedeutung. Außer natürlich durch den Namen im Objekt. Achten muß man darauf, dass sich 
die Module innerhalb der Dokumentation nicht immer als hilfreich erweisen. Durch die 
Möglichkeit eines Service eigene Services zu verwenden, kommt es leider auch zu einigen 
nicht immer sofort ersichtlichen Querverbindungen.
Ein einfaches Beispiel dazu:
Im Modul "Text" befinden sich der Services "TableRow". Dieser 
hat dann aber ein Interface aus 
dem Modul "Table".
Services:
Sind die eigentlichen Objekte von Starbasic. Sie können Interfaces, Structs, Enums, 
Constant 
Groups, Typdef, Exceptions Properties beinhalten. Und was besonders wichtig ist: Sie können 
ebenfalls selber Services haben.
Interfaces:
Interfaces sind die Schnittstellen und stellen den Service die Methoden zur Verfügung. 
Interfaces haben ausschließlich Methoden.
Properties:
Sind die Eigenschaften die Services haben können. Sie kommen auch nur bei den Services 
vor. Es gibt zwei besonders Typen von Properties: Enum  und Struct.
Ansonsten handelt es sich um Typen wie String, Integer (long oder short) oder  Boolean.
Methods:
Sind Methoden die ausschließlich von Interfaces bereitgestellt werden. Wenn es sich 
um 
Funktionen mit einem Rückgabewert handelt, kann es sich dabei um die Typen: String, Long, 
Short, Boolean, Void oder um ein Objekt (Service) handeln. Diese Typen können auch als 
Array übergeben werden.
Structs:
Structs sind gruppierte Properties. Sie können nur gemeinsam an eine Propertie übergeben. 
Dabei kann man einzelne Werte festlegen oder Standardwerte automatisch verwenden. Siehe 
auch: 
Exception:
Ist der Typ der mögliche Fehlermeldungen enthält oder übergibt den betroffenen Service 
oder 
das Interface als Meldung.
Enum:
Enums sind Konstanten die für  einen bestimmten Kontext gebündelt worden sind. Zum 
Beispiel: com.sun.star.style.ParagraphAdjust. Unterhalb von ParagraphAdjust werden die 
Optionen, denen man einen Absatz einstellen kann, gebündelt (Linksbündig, Blocksatz, 
Rechtsbündig, Zentriert). Der Übergabewert ist nicht dokumentiert, aber eigentlich eine 
Aufzählung (eng. Enumeration) in fortlaufender Folge. Bei einigen Services kann man daher 
auch mit dem passenden Integerwert die Einstellung vornehmen. Da die Dokumentation fehlt, 
muß man den vollen Namen als Konstante verwenden. Hier also 
"com.sun.star.style.ParagraphAdjust.LEFT" für linksbündig. Achtung: Auf Groß- und 
Kleinschreibung achten. Einige dieser Enums sind mit großer Vorsicht zu verwenden, da nicht 
alle dokumentierten Elemente von Enums funktionieren. 
"com.sun.star.style.ParagraphAdjust.STRETCH" führt zum Beispiel, entgegen der 
Dokumentation, auch zu einem linksbündigen Absatz.
Constant Groups:
Sind Gruppierungen von Konstanten. Hier kann der Namen auch nur komplett verwendet 
werden. Aber in der Dokumentation stehen die Werte für diese Konstanten, die man alternativ 
verwenden kann. Auch hier gilt, nicht alle sind richtig dokumentiert oder funktionieren richtig.
Zum Abschluß eine nicht ganz vollständige Übersicht: