Statement.ImportDeclaration
and specifier('M, 'T) =
| ImportNamedSpecifiers(list(named_specifier('M, 'T)))
| ImportNamespaceSpecifier(('M, Identifier.t('M, 'T)))
;
and named_specifier('M, 'T) = {
kind: option(import_kind),
local: option(Identifier.t('M, 'T)),
remote: Identifier.t('M, 'T),
};
and t('M, 'T) = {
import_kind: import_kind,
source: ('T, StringLiteral.t('M)),
default: option(Identifier.t('M, 'T)),
specifiers: option(specifier('M, 'T)),
comments: option(Syntax.t('M, unit)),
};