title: How to prevent "@typescript-eslint/unbound method" errors on non-class TypeScript interfaces?
body: <p>The code below doesn't use classes or <code>this</code>. How can I prevent typescript-eslint errors in function-only (no classes) code?  I know I can disable the rule globally, but the rule is useful for class code. I know I can disable it one line at a time, but that seems like a pain given how common it is to have callback functions defined in TS interfaces.  Is there another way?</p>
  <p>Here's a simplified example of the problem:</p>
  <pre class="lang-js prettyprint-override"><code>interface FooProps {
    bar(): void;
  }
  
  export function foo(props: FooProps) {
    const { bar } = props;
    // ^^^ Avoid referencing unbound methods which may cause unintentional scoping of `this`.
    //     eslint(@typescript-eslint/unbound-method)
    return bar;
  }
  </code></pre>