UNPKG

1.66 kBTypeScriptView Raw
1import { ReflectionCategory } from "./ReflectionCategory";
2import type { CommentDisplayPart, DeclarationReflection, DocumentReflection, Reflection } from ".";
3import type { Serializer, JSONOutput, Deserializer } from "../serialization";
4/**
5 * A group of reflections. All reflections in a group are of the same kind.
6 *
7 * Reflection groups are created by the ´GroupHandler´ in the resolving phase
8 * of the dispatcher. The main purpose of groups is to be able to more easily
9 * render human readable children lists in templates.
10 */
11export declare class ReflectionGroup {
12 readonly owningReflection: Reflection;
13 /**
14 * The title, a string representation of the typescript kind, of this group.
15 */
16 title: string;
17 /**
18 * User specified description via `@groupDescription`, if specified.
19 */
20 description?: CommentDisplayPart[];
21 /**
22 * All reflections of this group.
23 */
24 children: Array<DeclarationReflection | DocumentReflection>;
25 /**
26 * Categories contained within this group.
27 */
28 categories?: ReflectionCategory[];
29 /**
30 * Create a new ReflectionGroup instance.
31 *
32 * @param title The title of this group.
33 * @param owningReflection The reflection containing this group, useful for changing rendering based on a comment on a reflection.
34 */
35 constructor(title: string, owningReflection: Reflection);
36 /**
37 * Do all children of this group have a separate document?
38 */
39 allChildrenHaveOwnDocument(): boolean;
40 toObject(serializer: Serializer): JSONOutput.ReflectionGroup;
41 fromObject(de: Deserializer, obj: JSONOutput.ReflectionGroup): void;
42}