Module Statement.ImportDeclaration

type import_kind =
  1. | ImportType
  2. | ImportTypeof
  3. | ImportValue
;
and specifier('M, 'T) =
  1. | ImportNamedSpecifiers(list(named_specifier('M, 'T)))
  2. | ImportNamespaceSpecifier(('M, Identifier.t('M, 'T)))
;
and named_specifier('M, 'T) = {
  1. kind: option(import_kind),
  2. local: option(Identifier.t('M, 'T)),
  3. remote: Identifier.t('M, 'T),
  4. remote_name_def_loc: option('M),
};
and default_identifier('M, 'T) = {
  1. identifier: Identifier.t('M, 'T),
  2. remote_default_name_def_loc: option('M),
};
and t('M, 'T) = {
  1. import_kind: import_kind,
  2. source: ('T, StringLiteral.t('M)),
  3. default: option(default_identifier('M, 'T)),
  4. specifiers: option(specifier('M, 'T)),
  5. comments: option(Syntax.t('M, unit)),
};