Statement.DeclareExportDeclaration
type declaration('M, 'T) =
| Variable(('M, DeclareVariable.t('M, 'T)))
| Function(('M, DeclareFunction.t('M, 'T)))
| Class(('M, DeclareClass.t('M, 'T)))
| Component(('M, DeclareComponent.t('M, 'T)))
| DefaultType(Type.t('M, 'T))
| NamedType(('M, TypeAlias.t('M, 'T)))
| NamedOpaqueType(('M, OpaqueType.t('M, 'T)))
| Interface(('M, Interface.t('M, 'T)))
| Enum(('M, EnumDeclaration.t('M, 'T)))
;
and t('M, 'T) = {
default: option('M),
declaration: option(declaration('M, 'T)),
specifiers: option(ExportNamedDeclaration.specifier('M, 'T)),
source: option(('T, StringLiteral.t('M))),
comments: option(Syntax.t('M, unit)),
};