import { combineExtensions } from "../../micromark-util-combine-extensions/index.js";
import { content } from "./initialize/content.js";
import { document } from "./initialize/document.js";
import { flow } from "./initialize/flow.js";
import { string, text } from "./initialize/text.js";
import { constructs_exports } from "./constructs.js";
import { createTokenizer } from "./create-tokenizer.js";
function parse(c) {
	let l = {
		constructs: combineExtensions([constructs_exports, ...(c || {}).extensions || []]),
		content: u(content),
		defined: [],
		document: u(document),
		flow: u(flow),
		lazy: {},
		string: u(string),
		text: u(text)
	};
	return l;
	function u(e) {
		return s;
		function s(s) {
			return createTokenizer(l, e, s);
		}
	}
}
export { parse };
