ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
21 lines (20 loc) • 766 B
TypeScript
import { Constructor } from "./../../../Constructor";
import { Node } from "./../../common";
import { ModifierableNode } from "./../../base";
export declare type AbstractableNodeExtensionType = Node & ModifierableNode;
export interface AbstractableNode {
/**
* Gets if the node is abstract.
*/
getIsAbstract(): boolean;
/**
* Gets the abstract keyword or undefined if it doesn't exist.
*/
getAbstractKeyword(): Node | undefined;
/**
* Sets if the node is abstract.
* @param isAbstract - If it should be abstract or not.
*/
setIsAbstract(isAbstract: boolean): this;
}
export declare function AbstractableNode<T extends Constructor<AbstractableNodeExtensionType>>(Base: T): Constructor<AbstractableNode> & T;