ts-simple-ast
Version:
TypeScript compiler wrapper for AST navigation and code generation.
59 lines (58 loc) • 2.44 kB
TypeScript
import * as ts from "typescript";
import { NamespaceDeclarationStructure } from "./../../structures";
import { Node, Identifier } from "./../common";
import { NamedNode, ExportableNode, ModifierableNode, AmbientableNode, DocumentationableNode, BodiedNode, TextInsertableNode, UnwrappableNode, ChildOrderableNode } from "./../base";
import { StatementedNode } from "./../statement";
import { NamespaceChildableNode } from "./NamespaceChildableNode";
export declare const NamespaceDeclarationBase: (new (...args: any[]) => ChildOrderableNode) & (new (...args: any[]) => UnwrappableNode) & (new (...args: any[]) => TextInsertableNode) & (new (...args: any[]) => BodiedNode) & (new (...args: any[]) => NamespaceChildableNode) & (new (...args: any[]) => StatementedNode) & (new (...args: any[]) => DocumentationableNode) & (new (...args: any[]) => AmbientableNode) & (new (...args: any[]) => ExportableNode) & (new (...args: any[]) => ModifierableNode) & (new (...args: any[]) => NamedNode) & typeof Node;
export declare class NamespaceDeclaration extends NamespaceDeclarationBase<ts.NamespaceDeclaration> {
/**
* Fills the node from a structure.
* @param structure - Structure to fill.
*/
fill(structure: Partial<NamespaceDeclarationStructure>): this;
/**
* Gets the full name of the namespace.
*/
getName(): string;
/**
* Sets the name without renaming references.
* @param newName - New full namespace name.
*/
setName(newName: string): this;
/**
* Renames the name.
* @param newName - New name.
*/
rename(newName: string): this;
/**
* Gets the name nodes.
*/
getNameNodes(): Identifier[];
/**
* Gets if this namespace has a namespace keyword.
*/
hasNamespaceKeyword(): boolean;
/**
* Gets if this namespace has a namespace keyword.
*/
hasModuleKeyword(): boolean;
/**
* Set if this namespace has a namespace keyword.
* @param value - Whether to set it or not.
*/
setHasNamespaceKeyword(value?: boolean): this;
/**
* Set if this namespace has a namepsace keyword.
* @param value - Whether to set it or not.
*/
setHasModuleKeyword(value?: boolean): this;
/**
* Gets the namespace or module keyword.
*/
getDeclarationTypeKeyword(): Node<ts.Node> | undefined;
/**
* Removes this namespace declaration.
*/
remove(): void;
}