Which option in my tsconfig.json is causing error?
<p>I'm learning typescript. </p>

<pre><code>interface FooOptions {
  x: string;
  y: string;
}

function getFoo(opt: FooOptions) {
  return opt.x + opt.y;
}

export {getFoo, FooOptions};
</code></pre>

<p>Running <code>node_modules/.bin/tsc</code> gives the following error:</p>

<pre><code>$ node_modules/.bin/tsc
t.ts(6,22): error TS4078: Parameter 'opt' of exported function has or is using private name 'FooOptions'.
</code></pre>

<p>But <code>node_modules/.bin/tsc t.ts</code> runs successfully.</p>

<p>According to <a href="https://www.typescriptlang.org/docs/handbook/tsconfig-json.html" rel="nofollow">the document</a>:</p>

<blockquote>
  <p>By invoking tsc with no input files, in which case the compiler
  searches for the tsconfig.json file starting in the current directory
  and continuing up the parent directory chain.</p>
</blockquote>

<p>Which option in my tsconfig.json is causing the error?  And what does the error mean?</p>

<pre><code>{
  "compilerOptions": {
    "target": "es5",
    "outDir": "dist",
    "module": "commonjs",
    "declaration": true,
    "noImplicitAny": true,
    "removeComments": true,
    "moduleResolution": "node",
    "sourceMap": true,
    "inlineSources": true
  },
  "exclude": [
    "node_modules",
    "dist"
  ]
}
</code></pre>