import { Node } from './Node'; export declare const importType = "[*@+=]"; /** * Specifies a symbol and its related origin, either via import or implicit/local declaration. */ export declare abstract class Import extends Node { symbol: string; /** * Parses a symbol reference pattern to create a symbol. The pattern * allows the simple definition of all symbol types including any possible * import variation. If the spec to parse does not follow the proper format * an implicit symbol is created from the unparsed spec. * * Pattern: `symbolName? importType modulePath (#)?` * * Where: * * - `symbolName` is any legal JS/TS symbol. If none, we use the last part of the module path as a guess. * - `importType` is one of `@` or `*` or `+`, where: * - `@` is a named import * - `Foo@bar` becomes `import { Foo } from 'bar'` * - `*` is a star import, * - `*Foo` becomes `import * as Foo from 'Foo'` * - `Foo*foo` becomes `import * as Foo from 'foo'` * - `+` is an implicit import * - E.g. `Foo+foo` becomes `import 'foo'` * - `modulePath` is a path * - E.g. `(/