UNPKG

28.5 kBTypeScriptView Raw
1import SourceToken from 'coffee-lex/dist/SourceToken';
2import ParseContext from './util/ParseContext';
3export declare abstract class Node {
4 readonly type: string;
5 readonly line: number;
6 readonly column: number;
7 readonly start: number;
8 readonly end: number;
9 readonly raw: string;
10 parentNode: Node | null;
11 constructor(type: string, line: number, column: number, start: number, end: number, raw: string);
12 getChildren(): Array<Node>;
13 getChildFields(): Array<Node | Array<Node | null> | null>;
14 /**
15 * Return the names of the properties container child nodes, in traversal
16 * order.
17 */
18 abstract getChildNames(): Array<string>;
19}
20export declare class Identifier extends Node {
21 readonly data: string;
22 constructor(line: number, column: number, start: number, end: number, raw: string, data: string);
23 getChildNames(): Array<keyof this>;
24}
25export declare class Bool extends Node {
26 readonly data: boolean;
27 constructor(line: number, column: number, start: number, end: number, raw: string, data: boolean);
28 static true(): Bool;
29 static false(): Bool;
30 getChildNames(): Array<keyof this>;
31}
32export declare class JavaScript extends Node {
33 readonly data: string;
34 constructor(line: number, column: number, start: number, end: number, raw: string, data: string);
35 getChildNames(): Array<keyof this>;
36}
37export declare class Number extends Node {
38 readonly data: number;
39 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, data: number);
40 getChildNames(): Array<keyof this>;
41}
42export declare class Float extends Number {
43 constructor(line: number, column: number, start: number, end: number, raw: string, data: number);
44}
45export declare class Int extends Number {
46 constructor(line: number, column: number, start: number, end: number, raw: string, data: number);
47}
48export declare abstract class AccessOp extends Node {
49 readonly expression: Node;
50 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, expression: Node);
51}
52export declare class MemberAccessOp extends AccessOp {
53 readonly member: Identifier;
54 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, member: Identifier);
55 getChildNames(): Array<keyof this>;
56}
57export declare class ProtoMemberAccessOp extends AccessOp {
58 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
59 getChildNames(): Array<keyof this>;
60}
61export declare class SoakedMemberAccessOp extends AccessOp {
62 readonly member: Identifier;
63 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, member: Identifier);
64 getChildNames(): Array<keyof this>;
65}
66export declare class SoakedProtoMemberAccessOp extends AccessOp {
67 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
68 getChildNames(): Array<keyof this>;
69}
70export declare class DynamicMemberAccessOp extends AccessOp {
71 readonly indexingExpr: Node;
72 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, indexingExpr: Node);
73 getChildNames(): Array<keyof this>;
74}
75export declare class SoakedDynamicMemberAccessOp extends AccessOp {
76 readonly indexingExpr: Node;
77 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, indexingExpr: Node);
78 getChildNames(): Array<keyof this>;
79}
80export declare class Quasi extends Node {
81 readonly data: string;
82 constructor(line: number, column: number, start: number, end: number, raw: string, data: string);
83 getChildNames(): Array<keyof this>;
84}
85export declare class String extends Node {
86 readonly quasis: Array<Quasi>;
87 readonly expressions: Array<Node | null>;
88 constructor(line: number, column: number, start: number, end: number, raw: string, quasis: Array<Quasi>, expressions: Array<Node | null>);
89 getChildNames(): Array<keyof this>;
90}
91export declare class TaggedTemplateLiteral extends Node {
92 readonly tag: Node;
93 readonly template: String;
94 constructor(line: number, column: number, start: number, end: number, raw: string, tag: Node, template: String);
95 getChildNames(): Array<keyof this>;
96}
97export declare class ObjectInitialiser extends Node {
98 readonly members: Array<ObjectInitialiserMember | AssignOp>;
99 constructor(line: number, column: number, start: number, end: number, raw: string, members: Array<ObjectInitialiserMember | AssignOp>);
100 getChildNames(): Array<keyof this>;
101}
102export declare class ObjectInitialiserMember extends Node {
103 readonly key: Node;
104 readonly expression: Node | null;
105 constructor(line: number, column: number, start: number, end: number, raw: string, key: Node, expression: Node | null);
106 getChildNames(): Array<keyof this>;
107}
108export declare class Conditional extends Node {
109 readonly condition: Node;
110 readonly consequent: Block | null;
111 readonly alternate: Block | null;
112 readonly isUnless: boolean;
113 constructor(line: number, column: number, start: number, end: number, raw: string, condition: Node, consequent: Block | null, alternate: Block | null, isUnless: boolean);
114 getChildNames(): Array<keyof this>;
115}
116export declare class Program extends Node {
117 readonly body: Block | null;
118 context: ParseContext;
119 constructor(line: number, column: number, start: number, end: number, raw: string, body: Block | null, context: ParseContext);
120 getChildNames(): Array<keyof this>;
121}
122export declare class Block extends Node {
123 readonly statements: Array<Node>;
124 readonly inline: boolean;
125 constructor(line: number, column: number, start: number, end: number, raw: string, statements: Array<Node>, inline: boolean);
126 getChildNames(): Array<keyof this>;
127 withInline(inline: boolean): Block;
128}
129export declare class Loop extends Node {
130 readonly body: Node | null;
131 constructor(line: number, column: number, start: number, end: number, raw: string, body: Node | null);
132 getChildNames(): Array<keyof this>;
133}
134export declare class While extends Node {
135 readonly condition: Node;
136 readonly guard: Node | null;
137 readonly body: Node | null;
138 readonly isUntil: boolean;
139 constructor(line: number, column: number, start: number, end: number, raw: string, condition: Node, guard: Node | null, body: Node | null, isUntil: boolean);
140 getChildNames(): Array<keyof this>;
141}
142export declare abstract class For extends Node {
143 readonly keyAssignee: Node | null;
144 readonly valAssignee: Node | null;
145 readonly target: Node;
146 readonly filter: Node | null;
147 readonly body: Block | null;
148 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, keyAssignee: Node | null, valAssignee: Node | null, target: Node, filter: Node | null, body: Block | null);
149}
150export declare class ForOf extends For {
151 readonly isOwn: boolean;
152 constructor(line: number, column: number, start: number, end: number, raw: string, keyAssignee: Node | null, valAssignee: Node | null, target: Node, filter: Node | null, body: Block | null, isOwn: boolean);
153 getChildNames(): Array<keyof this>;
154}
155export declare class ForIn extends For {
156 readonly step: Node | null;
157 constructor(line: number, column: number, start: number, end: number, raw: string, keyAssignee: Node | null, valAssignee: Node | null, target: Node, filter: Node | null, body: Block | null, step: Node | null);
158 getChildNames(): Array<keyof this>;
159}
160export declare class ForFrom extends For {
161 constructor(line: number, column: number, start: number, end: number, raw: string, valAssignee: Node | null, target: Node, filter: Node | null, body: Block | null);
162 getChildNames(): Array<keyof this>;
163}
164export declare class Switch extends Node {
165 readonly expression: Node | null;
166 readonly cases: Array<SwitchCase>;
167 readonly alternate: Block | null;
168 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node | null, cases: Array<SwitchCase>, alternate: Block | null);
169 getChildNames(): Array<keyof this>;
170}
171export declare class SwitchCase extends Node {
172 readonly conditions: Array<Node>;
173 readonly consequent: Block | null;
174 constructor(line: number, column: number, start: number, end: number, raw: string, conditions: Array<Node>, consequent: Block | null);
175 getChildNames(): Array<keyof this>;
176}
177export declare class RegexFlags {
178 readonly global: boolean;
179 readonly ignoreCase: boolean;
180 readonly multiline: boolean;
181 readonly unicode: boolean;
182 readonly sticky: boolean;
183 readonly g: boolean;
184 readonly i: boolean;
185 readonly m: boolean;
186 readonly u: boolean;
187 readonly y: boolean;
188 constructor(global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean);
189 static parse(flags: string): RegexFlags;
190}
191export declare class Heregex extends Node {
192 readonly quasis: Array<Quasi>;
193 readonly expressions: Array<Node | null>;
194 readonly flags: RegexFlags;
195 constructor(line: number, column: number, start: number, end: number, raw: string, quasis: Array<Quasi>, expressions: Array<Node | null>, flags: RegexFlags);
196 getChildNames(): Array<keyof this>;
197}
198export declare class Null extends Node {
199 constructor(line: number, column: number, start: number, end: number, raw: string);
200 getChildNames(): Array<keyof this>;
201}
202export declare class Undefined extends Node {
203 constructor(line: number, column: number, start: number, end: number, raw: string);
204 getChildNames(): Array<keyof this>;
205}
206export declare class Regex extends Node {
207 readonly pattern: string;
208 readonly flags: RegexFlags;
209 constructor(line: number, column: number, start: number, end: number, raw: string, pattern: string, flags: RegexFlags);
210 getChildNames(): Array<keyof this>;
211}
212export declare class Return extends Node {
213 readonly expression: Node | null;
214 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node | null);
215 getChildNames(): Array<keyof this>;
216}
217export declare class YieldReturn extends Node {
218 readonly expression: Node | null;
219 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node | null);
220 getChildNames(): Array<keyof this>;
221}
222export declare class This extends Node {
223 constructor(line: number, column: number, start: number, end: number, raw: string);
224 getChildNames(): Array<keyof this>;
225}
226export declare class Throw extends Node {
227 readonly expression: Node | null;
228 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node | null);
229 getChildNames(): Array<keyof this>;
230}
231export declare class ArrayInitialiser extends Node {
232 readonly members: Array<Node>;
233 constructor(line: number, column: number, start: number, end: number, raw: string, members: Array<Node>);
234 getChildNames(): Array<keyof this>;
235}
236export declare class DefaultParam extends Node {
237 readonly param: Node;
238 readonly default: Node;
239 constructor(line: number, column: number, start: number, end: number, raw: string, param: Node, defaultValue: Node);
240 getChildNames(): Array<keyof this>;
241}
242export declare class Rest extends Node {
243 readonly expression: Node;
244 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
245 getChildNames(): Array<keyof this>;
246}
247export declare class Expansion extends Node {
248 constructor(line: number, column: number, start: number, end: number, raw: string);
249 getChildNames(): Array<keyof this>;
250}
251export declare class Break extends Node {
252 constructor(line: number, column: number, start: number, end: number, raw: string);
253 getChildNames(): Array<keyof this>;
254}
255export declare class Continue extends Node {
256 constructor(line: number, column: number, start: number, end: number, raw: string);
257 getChildNames(): Array<keyof this>;
258}
259export declare class Spread extends Node {
260 readonly expression: Node;
261 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
262 getChildNames(): Array<keyof this>;
263}
264export declare class Range extends Node {
265 readonly left: Node;
266 readonly right: Node;
267 readonly isInclusive: boolean;
268 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node, isInclusive: boolean);
269 getChildNames(): Array<keyof this>;
270}
271export declare abstract class BinaryOp extends Node {
272 readonly left: Node;
273 readonly right: Node;
274 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
275 getChildNames(): Array<string>;
276}
277export declare abstract class UnaryOp extends Node {
278 readonly expression: Node;
279 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, expression: Node);
280 getChildNames(): Array<keyof this>;
281}
282export declare class ChainedComparisonOp extends Node {
283 readonly operands: Array<Node>;
284 readonly operators: Array<OperatorInfo>;
285 constructor(line: number, column: number, start: number, end: number, raw: string, operands: Array<Node>, operators: Array<OperatorInfo>);
286 getChildNames(): Array<keyof this>;
287}
288export declare class OperatorInfo {
289 readonly operator: string;
290 readonly token: SourceToken;
291 constructor(operator: string, token: SourceToken);
292}
293export declare type Op = UnaryOp | BinaryOp | ChainedComparisonOp;
294export declare class EQOp extends BinaryOp {
295 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
296}
297export declare class NEQOp extends BinaryOp {
298 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
299}
300export declare class LTOp extends BinaryOp {
301 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
302}
303export declare class LTEOp extends BinaryOp {
304 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
305}
306export declare class GTOp extends BinaryOp {
307 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
308}
309export declare class GTEOp extends BinaryOp {
310 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
311}
312export declare class LogicalNotOp extends UnaryOp {
313 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
314}
315export declare class LogicalAndOp extends BinaryOp {
316 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
317}
318export declare class LogicalOrOp extends BinaryOp {
319 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
320}
321export declare class SubtractOp extends BinaryOp {
322 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
323}
324export declare class PlusOp extends BinaryOp {
325 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
326}
327export declare class UnaryPlusOp extends UnaryOp {
328 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
329}
330export declare class MultiplyOp extends BinaryOp {
331 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
332}
333export declare class DivideOp extends BinaryOp {
334 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
335}
336export declare class FloorDivideOp extends BinaryOp {
337 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
338}
339export declare class ExistsOp extends BinaryOp {
340 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
341}
342export declare class UnaryExistsOp extends UnaryOp {
343 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
344}
345export declare class UnaryNegateOp extends UnaryOp {
346 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
347}
348export declare class BitNotOp extends UnaryOp {
349 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
350}
351export declare class BitAndOp extends BinaryOp {
352 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
353}
354export declare class BitOrOp extends BinaryOp {
355 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
356}
357export declare class BitXorOp extends BinaryOp {
358 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
359}
360export declare class LeftShiftOp extends BinaryOp {
361 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
362}
363export declare class SignedRightShiftOp extends BinaryOp {
364 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
365}
366export declare class UnsignedRightShiftOp extends BinaryOp {
367 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
368}
369export declare class PreDecrementOp extends UnaryOp {
370 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
371}
372export declare class PreIncrementOp extends UnaryOp {
373 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
374}
375export declare class PostDecrementOp extends UnaryOp {
376 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
377}
378export declare class PostIncrementOp extends UnaryOp {
379 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
380}
381export declare class ExpOp extends BinaryOp {
382 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
383}
384export declare class RemOp extends BinaryOp {
385 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
386}
387export declare class ModuloOp extends BinaryOp {
388 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
389}
390export declare class InOp extends BinaryOp {
391 readonly isNot: boolean;
392 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node, isNot: boolean);
393}
394export declare class BaseAssignOp extends Node {
395 readonly assignee: Node;
396 readonly expression: Node;
397 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, assignee: Node, expression: Node);
398 getChildNames(): Array<string>;
399}
400export declare class AssignOp extends BaseAssignOp {
401 constructor(line: number, column: number, start: number, end: number, raw: string, assignee: Node, expression: Node);
402 withExpression(expression: Node): AssignOp;
403}
404export declare class CompoundAssignOp extends BaseAssignOp {
405 readonly op: string;
406 constructor(line: number, column: number, start: number, end: number, raw: string, assignee: Node, expression: Node, op: string);
407}
408export declare class ExtendsOp extends BinaryOp {
409 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
410}
411export declare class SeqOp extends BinaryOp {
412 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node);
413}
414export declare class TypeofOp extends UnaryOp {
415 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
416}
417export declare class InstanceofOp extends BinaryOp {
418 readonly isNot: boolean;
419 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node, isNot: boolean);
420}
421export declare class OfOp extends BinaryOp {
422 readonly isNot: boolean;
423 constructor(line: number, column: number, start: number, end: number, raw: string, left: Node, right: Node, isNot: boolean);
424}
425export declare class DeleteOp extends UnaryOp {
426 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
427}
428export declare class Yield extends Node {
429 readonly expression: Node | null;
430 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node | null);
431 getChildNames(): Array<keyof this>;
432}
433export declare class YieldFrom extends Node {
434 readonly expression: Node;
435 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
436 getChildNames(): Array<keyof this>;
437}
438export declare class Slice extends Node {
439 readonly expression: Node;
440 readonly left: Node | null;
441 readonly right: Node | null;
442 readonly isInclusive: boolean;
443 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, left: Node | null, right: Node | null, isInclusive: boolean);
444 getChildNames(): Array<keyof this>;
445}
446export declare class SoakedSlice extends Node {
447 readonly expression: Node;
448 readonly left: Node | null;
449 readonly right: Node | null;
450 readonly isInclusive: boolean;
451 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node, left: Node | null, right: Node | null, isInclusive: boolean);
452 getChildNames(): Array<keyof this>;
453}
454export declare abstract class BaseFunction extends Node {
455 readonly parameters: Array<Node>;
456 readonly body: Block | null;
457 constructor(type: string, line: number, column: number, start: number, end: number, raw: string, parameters: Array<Node>, body: Block | null);
458 getChildNames(): Array<keyof this>;
459 abstract withParameters(parameters: Array<Node>): BaseFunction;
460}
461export declare class Function extends BaseFunction {
462 constructor(line: number, column: number, start: number, end: number, raw: string, parameters: Array<Node>, body: Block | null);
463 withParameters(parameters: Array<Node>): BaseFunction;
464}
465export declare class BoundFunction extends BaseFunction {
466 constructor(line: number, column: number, start: number, end: number, raw: string, parameters: Array<Node>, body: Block | null);
467 withParameters(parameters: Array<Node>): BaseFunction;
468}
469export declare class GeneratorFunction extends BaseFunction {
470 constructor(line: number, column: number, start: number, end: number, raw: string, parameters: Array<Node>, body: Block | null);
471 withParameters(parameters: Array<Node>): BaseFunction;
472}
473export declare class BoundGeneratorFunction extends BaseFunction {
474 constructor(line: number, column: number, start: number, end: number, raw: string, parameters: Array<Node>, body: Block | null);
475 withParameters(parameters: Array<Node>): BaseFunction;
476}
477export declare class Try extends Node {
478 readonly body: Node | null;
479 readonly catchAssignee: Node | null;
480 readonly catchBody: Node | null;
481 readonly finallyBody: Node | null;
482 constructor(line: number, column: number, start: number, end: number, raw: string, body: Node | null, catchAssignee: Node | null, catchBody: Node | null, finallyBody: Node | null);
483 getChildNames(): Array<keyof this>;
484}
485export declare class Constructor extends BaseAssignOp {
486 constructor(line: number, column: number, start: number, end: number, raw: string, assignee: Node, expression: Node);
487}
488export declare class ClassProtoAssignOp extends BaseAssignOp {
489 constructor(line: number, column: number, start: number, end: number, raw: string, assignee: Node, expression: Node);
490}
491export declare class Class extends Node {
492 readonly nameAssignee: Node | null;
493 readonly name: Node | null;
494 readonly body: Block | null;
495 readonly boundMembers: Array<ClassProtoAssignOp>;
496 readonly parent: Node | null;
497 readonly ctor: Constructor | null;
498 constructor(line: number, column: number, start: number, end: number, raw: string, nameAssignee: Node | null, name: Node | null, body: Block | null, boundMembers: Array<ClassProtoAssignOp>, parent: Node | null, ctor: Constructor | null);
499 getChildNames(): Array<keyof this>;
500}
501export declare class FunctionApplication extends Node {
502 readonly function: Node;
503 readonly arguments: Array<Node>;
504 constructor(line: number, column: number, start: number, end: number, raw: string, fn: Node, args: Array<Node>);
505 getChildNames(): Array<keyof this>;
506}
507export declare class SoakedFunctionApplication extends Node {
508 readonly function: Node;
509 readonly arguments: Array<Node>;
510 constructor(line: number, column: number, start: number, end: number, raw: string, fn: Node, args: Array<Node>);
511 getChildNames(): Array<keyof this>;
512}
513export declare class Super extends Node {
514 constructor(line: number, column: number, start: number, end: number, raw: string);
515 getChildNames(): Array<keyof this>;
516}
517export declare class BareSuperFunctionApplication extends Node {
518 constructor(line: number, column: number, start: number, end: number, raw: string);
519 getChildNames(): Array<keyof this>;
520}
521export declare class NewOp extends Node {
522 readonly ctor: Node;
523 readonly arguments: Array<Node>;
524 constructor(line: number, column: number, start: number, end: number, raw: string, ctor: Node, args: Array<Node>);
525 getChildNames(): Array<keyof this>;
526}
527export declare class SoakedNewOp extends Node {
528 readonly ctor: Node;
529 readonly arguments: Array<Node>;
530 constructor(line: number, column: number, start: number, end: number, raw: string, ctor: Node, args: Array<Node>);
531 getChildNames(): Array<keyof this>;
532}
533export declare class DoOp extends Node {
534 readonly expression: Node;
535 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
536 getChildNames(): Array<keyof this>;
537}
538export declare class ImportDeclaration extends Node {
539 readonly defaultBinding: Identifier | null;
540 readonly namespaceImport: Identifier | null;
541 readonly namedImports: Array<ModuleSpecifier> | null;
542 readonly source: String;
543 constructor(line: number, column: number, start: number, end: number, raw: string, defaultBinding: Identifier | null, namespaceImport: Identifier | null, namedImports: Array<ModuleSpecifier> | null, source: String);
544 getChildNames(): Array<keyof this>;
545}
546export declare class ExportNamedDeclaration extends Node {
547 readonly expression: Node;
548 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
549 getChildNames(): Array<keyof this>;
550}
551export declare class ExportBindingsDeclaration extends Node {
552 readonly namedExports: Array<ModuleSpecifier>;
553 readonly source: String | null;
554 constructor(line: number, column: number, start: number, end: number, raw: string, namedExports: Array<ModuleSpecifier>, source: String | null);
555 getChildNames(): Array<keyof this>;
556}
557export declare class ExportDefaultDeclaration extends Node {
558 readonly expression: Node;
559 constructor(line: number, column: number, start: number, end: number, raw: string, expression: Node);
560 getChildNames(): Array<keyof this>;
561}
562export declare class ExportAllDeclaration extends Node {
563 readonly source: String;
564 constructor(line: number, column: number, start: number, end: number, raw: string, source: String);
565 getChildNames(): Array<keyof this>;
566}
567export declare class ModuleSpecifier extends Node {
568 readonly original: Identifier;
569 readonly alias: Identifier | null;
570 constructor(line: number, column: number, start: number, end: number, raw: string, original: Identifier, alias: Identifier | null);
571 getChildNames(): Array<keyof this>;
572}