interface Foo{ extend(target: T, ...objs: any[]): T; extend(deep: boolean, target: T, ...objs: any[]): T; } declare var $: Foo; var s = $.extend({ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, }, "");