function checkPattern(node, checkKind) {
		/** @type {{parent?: import('estree').Node}} */
		const {parent} = node;
		if (parent.type === 'VariableDeclarator') {
			if (
				!parent.init
				|| parent.id !== node
				|| parent.parent.type !== 'VariableDeclaration'
				|| parent.parent.kind !== 'const'
			) {
				return false;
			}

			return checkExpression(parent.init, checkKind);
		}

		if (parent.type === 'Property') {
			if (!(
				checkKind === 'property'
				&& parent.value === node
				&& !parent.computed
				&& parent.key.type === 'Identifier'
				&& parent.key.name === functionName
			)) {
				return false;
			}

			// Check for ObjectPattern
			return checkPattern(parent.parent, 'module');
		}

		return false;
	}
@param {import('estree').Identifier | import('estree').ObjectPattern} node