Je to překvapivě jednoduché. Prvně jsem to zkoušel pomocí metod jako jQuery.fn.extends ale to nenašlo svoje ovoce. Pak ještě jsem si hrál s klíčovými slovy TypeScriptu extends a implements ale i tady jsem vždy narazil na nějaké chyby.
Až pak mě napadlo se podívat na existující soubory .d.ts jak to dělají oni – a byl jsem velmi překvapen. Pro rozšíření rozhraní o nové metody stačí pouze vytvořit rozhraní o stejného jména. Proto jsem si vytvořil soubor jquery.tagcloud.d.ts (analogie k jquery.tagcloud.js, ve kterém jsou tyto metody implementovány) a zapsal do něj tento obsah:
/// <reference path="jquery.d.ts> />
interface JQuery
{
tagcloud(): void;
//-Musi to byt typ any protoze do teto metody predavam parametry v slozenych zavorkach
tagsInput(args: any): void;
}Volám pak tyto metody takto:
$('#tags').tagsInput({ width: "auto" });
$('#tagCloud a').tagcloud();Tak a to je celé. Jen dodám že analogicky můžete rozšířit $ o statické metody tím že vytvoříte rozhraní názvu JQueryStatic a přidáte do něj metody ale to jsem nezkoušel. Odteď už mi zmizely všechny chyby, které mi Visual Studio hlásilo co se týče TypeScriptu. ✅