diff --git a/lib/utils.js b/lib/utils.js
index <HASH>..<HASH> 100644
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -97,7 +97,8 @@ function collectInterestingProperties (properties, interestingKeys) {
   return properties.reduce((parsedProps, prop) => {
     const keyValue = module.exports.getKeyName(prop);
     if (interestingKeys.has(keyValue)) {
-      parsedProps[keyValue] = prop.value;
+      // In TypeScript, unwrap any usage of `{} as const`.
+      parsedProps[keyValue] = prop.value.type === 'TSAsExpression' ? prop.value.expression : prop.value;
     }
     return parsedProps;
   }, {});
diff --git a/tests/lib/utils.js b/tests/lib/utils.js
index <HASH>..<HASH> 100644
--- a/tests/lib/utils.js
+++ b/tests/lib/utils.js
@@ -139,6 +139,13 @@ describe('utils', () => {
           isNewStyle: true,
         },
 
+        // Util function with "{} as const".
+        'export default createESLintRule({ create() {}, meta: {} as const });': {
+          create: { type: 'FunctionExpression' },
+          meta: { type: 'ObjectExpression' },
+          isNewStyle: true,
+        },
+
         // Util function from util object
         'export default util.createRule<Options, MessageIds>({ create() {}, meta: {} });': {
           create: { type: 'FunctionExpression' },
Fix: Handle `meta: {} as const` for TypeScript rules (#<I>)