ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
29 lines (28 loc) • 985 B
TypeScript
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;