44 lines
1.8 KiB
TypeScript
44 lines
1.8 KiB
TypeScript
import { DocNode } from '../nodes/DocNode';
|
|
export declare type DocNodeConstructor = new (...args: any[]) => DocNode;
|
|
export interface IDocNodeDefinition {
|
|
docNodeKind: string;
|
|
constructor: DocNodeConstructor;
|
|
}
|
|
/**
|
|
* Part of the {@link TSDocConfiguration} object.
|
|
*
|
|
* @remarks
|
|
* If you define your own custom subclasses of `DocNode`, they must be registered with the `DocNodeManager`.
|
|
* Use {@link DocNodeManager.registerAllowableChildren} to specify which {@link DocNodeContainer} subclasses
|
|
* are allowed to contain your nodes.
|
|
*/
|
|
export declare class DocNodeManager {
|
|
private static readonly _nodeKindRegExp;
|
|
private readonly _docNodeDefinitionsByKind;
|
|
private readonly _docNodeDefinitionsByConstructor;
|
|
/**
|
|
* Registers a list of {@link IDocNodeDefinition} objects to be used with the associated
|
|
* {@link TSDocConfiguration} object.
|
|
*/
|
|
registerDocNodes(packageName: string, definitions: ReadonlyArray<IDocNodeDefinition>): void;
|
|
/**
|
|
* Reports an error if the specified DocNode kind has not been registered.
|
|
*/
|
|
throwIfNotRegisteredKind(docNodeKind: string): void;
|
|
/**
|
|
* For the given parent DocNode kind, registers the specified DocNode kinds as being allowable children of
|
|
* the parent.
|
|
*
|
|
* @remarks
|
|
* To prevent mistakes, `DocNodeContainer` will report an error if you try to add node that was not registered
|
|
* as an allowable child of the container.
|
|
*/
|
|
registerAllowableChildren(parentKind: string, childKinds: ReadonlyArray<string>): void;
|
|
/**
|
|
* Returns true if the specified DocNode kind has been registered as an allowable child of the specified
|
|
* parent DocNode kind.
|
|
*/
|
|
isAllowedChild(parentKind: string, childKind: string): boolean;
|
|
private _getDefinition;
|
|
}
|
|
//# sourceMappingURL=DocNodeManager.d.ts.map
|