title: Typescript: This expression is not callable. Type '{ getUserInfo(requestData: object): Promise<object>; }' has no call signatures
body: <p>I am having following issue, when i call to another function in typescript</p>
  
  <p>This expression is not callable.
    Type '{ getUserInfo(requestData: object): Promise; }' has no call signatures.
  in my index.ts</p>
  
  <p>index.ts</p>
  
  <pre><code>  const fetchApiData = await getUserInfo(requestData)
  </code></pre>
  
  <p>service.ts</p>
  
  <pre><code>import { userInfoApi } from '../constants/api'
  import request from '../utils/request'
  
  export default {
    async getUserInfo(requestData: object): Promise&lt;object&gt; {
      return await request(userInfoApi, requestData, 'GET')
    },
  }
  </code></pre>
  
  <p>request.ts</p>
  
  <pre><code>const request = (operation: string, data: object, method: any): Promise&lt;object&gt; =&gt; {
    return new Promise(function(resolve, reject) {
      my.request({
        url: operation,
        data: data,
        method: method,
        success: function(res) {
          resolve(res)
        },
        fail: function(err) {
          reject(err)
        },
      })
    })
  }
  
  export default (operation: string, data: object, method: any): Promise&lt;any&gt; =&gt; {
    let timeHandle
    const timeout = 65 * 1000
    const promiseTimeout = new Promise(resolve =&gt; {
      timeHandle = setTimeout(() =&gt; {
        resolve({
          success: false,
          errorCode: 'NETWORK_TIMEOUT',
          errorMessage: 'Network Timeout',
        })
      }, timeout)
    })
  
    return Promise.race([
      request(operation, data, method).then(result =&gt; {
        clearTimeout(timeHandle)
        return result
      }),
      promiseTimeout,
    ])
  }
  </code></pre>
  
  <p>Any idea how to fix it?</p>