1 | import { Node, SourceFile, Symbol } from "typescript";
|
2 | import { ComponentCssPart } from "./features/component-css-part";
|
3 | import { ComponentCssProperty } from "./features/component-css-property";
|
4 | import { ComponentEvent } from "./features/component-event";
|
5 | import { ComponentMember } from "./features/component-member";
|
6 | import { ComponentMethod } from "./features/component-method";
|
7 | import { ComponentSlot } from "./features/component-slot";
|
8 | import { JsDoc } from "./js-doc";
|
9 | export interface ComponentFeatures {
|
10 | members: ComponentMember[];
|
11 | methods: ComponentMethod[];
|
12 | events: ComponentEvent[];
|
13 | slots: ComponentSlot[];
|
14 | cssProperties: ComponentCssProperty[];
|
15 | cssParts: ComponentCssPart[];
|
16 | }
|
17 | export type ComponentHeritageClauseKind = "implements" | "extends" | "mixin";
|
18 | export interface ComponentHeritageClause {
|
19 | kind: ComponentHeritageClauseKind;
|
20 | identifier: Node;
|
21 | declaration: ComponentDeclaration | undefined;
|
22 | }
|
23 | export type ComponentDeclarationKind = "mixin" | "interface" | "class";
|
24 | export interface ComponentDeclaration extends ComponentFeatures {
|
25 | sourceFile: SourceFile;
|
26 | node: Node;
|
27 | declarationNodes: Set<Node>;
|
28 | kind: ComponentDeclarationKind;
|
29 | jsDoc?: JsDoc;
|
30 | symbol?: Symbol;
|
31 | deprecated?: boolean | string;
|
32 | heritageClauses: ComponentHeritageClause[];
|
33 | }
|
34 |
|
\ | No newline at end of file |