import { CommentLine, LocationInformation, NGBaseNode, NGChainedExpression, NGEmptyExpression, NGNode, NGOwnNode, NGPipeExpression, Range, StartEnd } from "./ast-transform/node-types.js";
import { NGMicrosyntax, NGMicrosyntaxAs, NGMicrosyntaxExpression, NGMicrosyntaxKey, NGMicrosyntaxKeyedExpression, NGMicrosyntaxLet, NGMicrosyntaxNode } from "./microsyntax/microsyntax-node-types.js";

//#region src/types.d.ts
declare namespace types_d_exports {
  export { CommentLine, LocationInformation, NGAst, NGBaseNode, NGChainedExpression, NGEmptyExpression, NGMicrosyntax, NGMicrosyntaxAs, NGMicrosyntaxExpression, NGMicrosyntaxKey, NGMicrosyntaxKeyedExpression, NGMicrosyntaxLet, NGMicrosyntaxNode, NGNode, NGNodeMap, NGNodeTypes, NGOwnNode, NGPipeExpression, Range, StartEnd };
}
type NGAst = NGNode | NGMicrosyntaxNode;
type NGNodeTypes = NGAst['type'];
type NGNodeMap = { [NodeType in NGNodeTypes]: Extract<NGAst, {
  type: NodeType;
}> };
//#endregion
export { types_d_exports };