function throttle<Textends(...args:any[])=>any, This =any>( fn:T, interval?:number): Throttled<T, This>interfaceThrottled<Textends(...args:any[])=>any, This =any>{(this: This,...args: Parameters<T>):Promise<ReturnType<T>|undefined>;cancel:()=>void;flush:()=>Promise<ReturnType<T>|undefined>;pending:()=>boolean;}