1 | import { ReflectionCategory } from "./ReflectionCategory.js";
|
2 | import type { CommentDisplayPart, DeclarationReflection, DocumentReflection, Reflection } from "./index.js";
|
3 | import type { Serializer, JSONOutput, Deserializer } from "../serialization/index.js";
|
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 | */
|
11 | export 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 | }
|