<p dir="auto">I'm new to typings, but it seems as if the Knex SchemaBuilder methods (<a href="https://github.com/borisyankov/DefinitelyTyped/blob/master/knex/knex.d.ts#L303">https://github.com/borisyankov/DefinitelyTyped/blob/master/knex/knex.d.ts#L303</a>) are returning the wrong type.  They return Promise while the knex source has the methods just returning a reference to 'this' (<a href="https://github.com/tgriesser/knex/blob/master/lib/schema/builder.js#L27">https://github.com/tgriesser/knex/blob/master/lib/schema/builder.js#L27</a>).</p>
<p dir="auto">I don't see any references to promises of any kind in there.  I'd be happy to create a PR, but I wanted to make sure I wasn't completely wrong here.</p>
<p dir="auto">Thanks!</p>
<p dir="auto">The following should compile but doesn't:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class ActiveState {
    restrict = 'A'
    constructor() {
    }
}

angular.module('foo').directive('foo', ActiveState);"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-smi">ActiveState</span> <span class="pl-kos">{</span>
    <span class="pl-c1">restrict</span> <span class="pl-c1">=</span> <span class="pl-s">'A'</span>
    <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span>

<span class="pl-s1">angular</span><span class="pl-kos">.</span><span class="pl-en">module</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">directive</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-smi">ActiveState</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>