/* tslint:disable:no-unused-variable */ declare class Request { constructor(input: string|Request, init?: RequestInit); method: string; url: string; headers: Headers; context: RequestContext; referrer: string; mode: RequestMode; credentials: RequestCredentials; cache: RequestCache; } interface RequestInit { method?: string; headers?: HeaderInit|{ [index: string]: string }; body?: BodyInit; mode?: RequestMode; credentials?: RequestCredentials; cache?: RequestCache; } declare enum RequestContext { "audio", "beacon", "cspreport", "download", "embed", "eventsource", "favicon", "fetch", "font", "form", "frame", "hyperlink", "iframe", "image", "imageset", "import", "internal", "location", "manifest", "object", "ping", "plugin", "prefetch", "script", "serviceworker", "sharedworker", "subresource", "style", "track", "video", "worker", "xmlhttprequest", "xslt" } declare enum RequestMode { "same-origin", "no-cors", "cors" } declare enum RequestCredentials { "omit", "same-origin", "include" } declare enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" } declare class Headers { append(name: string, value: string): void; delete(name: string): void; get(name: string): string; getAll(name: string): Array; has(name: string): boolean; set(name: string, value: string): void; } declare class Body { bodyUsed: boolean; /* arrayBuffer(): Promise; blob(): Promise; */ formData(): Promise; json(): Promise; text(): Promise; } declare class Response extends Body { constructor(body?: BodyInit, init?: ResponseInit); error(): Response; redirect(url: string, status: number): Response; type: ResponseType; url: string; status: number; ok: boolean; statusText: string; headers: Headers; clone(): Response; } declare enum ResponseType { "basic", "cors", "default", "error", "opaque" } declare class ResponseInit { status: number; statusText: string; headers: HeaderInit; } declare type HeaderInit = Headers|Array; declare type BodyInit = Blob|FormData|string; declare type RequestInfo = Request|string; declare function fetch(url: string, init?: RequestInit): Promise; interface XMLHttpRequest { send(data?: FormData): void; } interface Console { time(reportName: string): void; timeEnd(reportName: string): void; assert(test: boolean, message: string, ...formatParams: any[]): void; info(message: any, ...formatParams: any[]): void; warn(message: any, ...formatParams: any[]): void; error(message: any, ...formatParams: any[]): void; log(message: any, ...formatParams: any[]): void; trace(): void; dump(obj: any): void; createDump(obj: any): string; dir(obj: any): void; } declare var console: Console; declare var require: NativeScriptRequire; // Global functions declare function Deprecated(target: Object, key?: string | symbol, value?: any): void; declare function Experimental(target: Object, key?: string | symbol, value?: any): void; declare function Log(data: any): void; declare function log(data: any): void; declare function float(num: number): any; declare function long(num: number): any; declare function fail(data: any): void; declare var __dirname: string; declare var __filename: string; /** * Calls a function after a specified delay. * @param callback The function to be called. * @param milliseconds The time to wait before the function is called. Defaults to 0. */ declare function setTimeout(callback: Function, milliseconds?: number): number; /** * Clears the delay set by a call to the setTimeout function. * @param id The identifier returned by the previously called setTimeout() method. */ declare function clearTimeout(id: number): void; /** * Calls a function repeatedly with a delay between each call. * @param callback The function to be called. * @param milliseconds The delay between each function call. */ declare function setInterval(callback: Function, milliseconds?: number): number; /** * Clears repeated function which was set up by calling setInterval(). * @param id The identifier returned by the setInterval() method. */ declare function clearInterval(id: number): void; declare class WeakRef { constructor(obj: T); get(): T; clear(): void; } declare var module: NativeScriptModule; // Same as module.exports declare var exports: any;