ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
35 lines (34 loc) • 1.14 kB
TypeScript
import { Constructor } from "./../../Constructor";
import { JSDocStructure } from "./../../structures";
import { Node } from "./../common";
import { JSDoc } from "./../doc/JSDoc";
export declare type JSDocableNodeExtensionType = Node<any>;
export interface JSDocableNode {
/**
* Gets the JS doc nodes.
*/
getJsDocs(): JSDoc[];
/**
* Adds a JS doc.
* @param structure - Structure to add.
*/
addJsDoc(structure: JSDocStructure): JSDoc;
/**
* Adds JS docs.
* @param structures - Structures to add.
*/
addJsDocs(structures: JSDocStructure[]): JSDoc[];
/**
* Inserts a JS doc.
* @param index - Index to insert at.
* @param structure - Structure to insert.
*/
insertJsDoc(index: number, structure: JSDocStructure): JSDoc;
/**
* Inserts JS docs.
* @param index - Index to insert at.
* @param structures - Structures to insert.
*/
insertJsDocs(index: number, structures: JSDocStructure[]): JSDoc[];
}
export declare function JSDocableNode<T extends Constructor<JSDocableNodeExtensionType>>(Base: T): Constructor<JSDocableNode> & T;