---
source: crates/oxc_linter/src/tester.rs
expression: no_empty_interface
---
  ⚠ typescript-eslint(no-empty-interface): an empty interface is equivalent to `{}`
   ╭─[no_empty_interface.tsx:1:1]
 1 │ interface Foo {}
   · ────────────────
   ╰────

  × Expected `{` but found `EOF`
   ╭─[no_empty_interface.tsx:1:25]
 1 │ interface Foo extends {}
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:6:4]
 5 │ 
 6 │             interface Bar extends Foo {}
   ·             ────────────────────────────
 7 │ 
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:6:4]
 5 │ 
 6 │             interface Bar extends Foo {}
   ·             ────────────────────────────
 7 │ 
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:6:4]
 5 │ 
 6 │             interface Bar extends Foo {}
   ·             ────────────────────────────
 7 │ 
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:6:4]
 5 │ 
 6 │             interface Bar extends Foo {}
   ·             ────────────────────────────
 7 │                   
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:1:1]
 1 │ interface Foo extends Array<number> {}
   · ──────────────────────────────────────
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:1:1]
 1 │ interface Foo extends Array<number | {}> {}
   · ───────────────────────────────────────────
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:5:4]
 4 │             }
 5 │             interface Foo extends Array<Bar> {}
   ·             ───────────────────────────────────
 6 │                   
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:3:4]
 2 │             type R = Record<string, unknown>;
 3 │             interface Foo extends R {}
   ·             ──────────────────────────
 4 │                   
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:2:4]
 1 │ 
 2 │             interface Foo<T> extends Bar<T> {}
   ·             ──────────────────────────────────
 3 │                   
   ╰────

  ⚠ typescript-eslint(no-empty-interface): an interface declaring no members is equivalent to its supertype
   ╭─[no_empty_interface.tsx:4:13]
 3 │               type Baz = typeof baz;
 4 │               export interface Bar extends Baz {}
   ·                      ────────────────────────────
 5 │             }
   ╰────
