```typescript
export interface AxiosInstance {
  (config: AxiosRequestConfig): AxiosPromise;
  (url: string, config?: AxiosRequestConfig): AxiosPromise;
  defaults: AxiosRequestConfig;
  interceptors: {
    request: AxiosInterceptorManager<AxiosRequestConfig>;
    response: AxiosInterceptorManager<AxiosResponse>;
  };
  request<T = any>(config: AxiosRequestConfig): AxiosPromise<T>;
  get<T = any>(url: string, config?: AxiosRequestConfig): AxiosPromise<T>;
  delete(url: string, config?: AxiosRequestConfig): AxiosPromise;
  head(url: string, config?: AxiosRequestConfig): AxiosPromise;
  post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise<T>;
  put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise<T>;
  patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise<T>;
}
```



This is missing a line which should be
  `options(url: string, config?: AxiosRequestConfig): AxiosPromise;`

test/typescript/axios.ts
.then(handleUserResponse)
	.catch(handleError);
axios.head<User>('/user')
	.then(handleUserResponse)
	.catch(handleError);
axios.delete<User>('/user')
	.then(handleUserResponse)
	.catch(handleError);
axios.post<User>('/user', { foo: 'bar' })
	.then(handleUserResponse)
	.catch(handleError);
axios.post<User>('/user', { foo: 'bar' }, { headers: { 'X-FOO': 'bar' } })
	.then(handleUserResponse)
	.catch(handleError);
axios.put<User>('/user', { foo: 'bar' })
	.then(handleUserResponse)
	.catch(handleError);
axios.patch<User>('/user', { foo: 'bar' })
	.then(handleUserResponse)
  .catch(handleError);
const handleStringResponse = (response: string) => {
  console.log(response)
}
axios.get<User, string>('/user?id=12345')
  .then(handleStringResponse)
  .catch(handleError);
axios.get<User, string>('/user', { params: { id: 12345 } })
  .then(handleStringResponse)
  .catch(handleError);
axios.head<User, string>('/user')