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)),
};
let pp_import_kind: Format.formatter => import_kind => unit;
let show_import_kind: import_kind => string;
let pp_specifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => specifier('M, 'T) => unit;
let show_specifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => specifier('M, 'T) => string;
let pp_named_specifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => named_specifier('M, 'T) => unit;
let show_named_specifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => named_specifier('M, 'T) => string;
let pp_default_identifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => default_identifier('M, 'T) => unit;
let show_default_identifier: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => default_identifier('M, 'T) => string;
let pp: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => Format.formatter => t('M, 'T) => unit;
let show: (Format.formatter => 'M => unit) => (Format.formatter => 'T => unit) => t('M, 'T) => string;