UNPKG

2.19 kBTypeScriptView Raw
1/**
2 * Parser for declaration references, see the [TSDoc grammar](https://github.com/microsoft/tsdoc/blob/main/tsdoc/src/beta/DeclarationReference.grammarkdown)
3 * for reference. TypeDoc **does not** support the full grammar today. This is intentional, since the TSDoc
4 * specified grammar allows the user to construct nonsensical declaration references such as `abc![def!ghi]`
5 *
6 * @module
7 */
8export declare const MeaningKeywords: readonly ["class", "interface", "type", "enum", "namespace", "function", "var", "constructor", "member", "event", "call", "new", "index", "complex", "getter", "setter"];
9export type MeaningKeyword = (typeof MeaningKeywords)[number];
10export interface DeclarationReference {
11 resolutionStart: "global" | "local";
12 moduleSource?: string;
13 symbolReference?: SymbolReference;
14}
15export interface Meaning {
16 keyword?: MeaningKeyword;
17 label?: string;
18 index?: number;
19}
20export declare function meaningToString(meaning: Meaning): string;
21export interface SymbolReference {
22 path?: ComponentPath[];
23 meaning?: Meaning;
24}
25export interface ComponentPath {
26 /**
27 * How to resolve the `path`
28 * - `.` - Navigate via `exports` of symbol
29 * - `#` - Navigate via `members` of symbol
30 * - `~` - Navigate via `locals` of symbol
31 */
32 navigation: "." | "#" | "~";
33 path: string;
34}
35export declare function parseString(source: string, pos: number, end: number): [string, number] | undefined;
36export declare function parseModuleSource(source: string, pos: number, end: number): [string, number] | undefined;
37export declare function parseSymbolReference(source: string, pos: number, end: number): [SymbolReference, number] | undefined;
38export declare function parseComponent(source: string, pos: number, end: number): [string, number] | undefined;
39export declare function parseComponentPath(source: string, pos: number, end: number): readonly [ComponentPath[], number] | undefined;
40export declare function parseMeaning(source: string, pos: number, end: number): [Meaning, number] | undefined;
41export declare function parseDeclarationReference(source: string, pos: number, end: number): [DeclarationReference, number] | undefined;