UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for AST navigation and code generation.

29 lines (28 loc) 985 B
import { Constructor } from "./../../Constructor"; import { Node } from "./../common"; import { ModifierableNode } from "./ModifierableNode"; export declare type AmbientableNodeExtensionType = Node & ModifierableNode; export interface AmbientableNode { /** * If the node has the declare keyword. */ hasDeclareKeyword(): boolean; /** * Gets the declare keyword or undefined if none exists. */ getDeclareKeyword(): Node | undefined; /** * Gets the declare keyword or throws if it doesn't exist. */ getDeclareKeywordOrThrow(): Node; /** * Gets if the node is ambient. */ isAmbient(): boolean; /** * Toggles or sets if this node has a declare keyword. * @param value - If to add the declare keyword or not. */ toggleDeclareKeyword(value?: boolean): this; } export declare function AmbientableNode<T extends Constructor<AmbientableNodeExtensionType>>(Base: T): Constructor<AmbientableNode> & T;