UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

91 lines (76 loc) 2.78 kB
// Type definitions for node-gcm 0.14.0 // Project: https://www.npmjs.org/package/node-gcm // Definitions by: Hiroki Horiuchi <https://github.com/horiuchi> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare module "node-gcm" { export interface INotificationOptions { title: string; body?: string; icon: string; sound?: string; badge?: string; tag?: string; color?: string; click_action?: string; } export interface IMessageOptions { collapseKey?: string; priority?: string; contentAvailable?: boolean; delayWhileIdle?: boolean; timeToLive?: number; restrictedPackageName?: string; dryRun?: boolean; data?: { [key: string]: string; }; notification?: INotificationOptions; } export class Message { constructor(options?: IMessageOptions); collapseKey: string; delayWhileIdle: boolean; timeToLive: number; dryRun: boolean; addData(key: string, value: string): void; addData(data: { [key: string]: string }): void; addNotification(value: INotificationOptions): void; addNotification(key: string, value:INotificationOptions): void; } export interface ISenderOptions { proxy?: any; maxSockets?: number; timeout?: number; } export interface ISenderSendOptions { retries?: number; backoff?: number; } export interface IRecipient { to?: string, topic?: string, notificationKey?: string, registrationIds?: string[], registrationTokens?: string[] } export class Sender { constructor(key: string, options?: ISenderOptions); key: string; options: ISenderOptions; send(message: Message, registrationIds: string|string[]|IRecipient, callback: (err: any, resJson: IResponseBody) => void): void; send(message: Message, registrationIds: string|string[]|IRecipient, retries: number, callback: (err: any, resJson: IResponseBody) => void): void; send(message: Message, registrationIds: string|string[]|IRecipient, options: ISenderSendOptions, callback: (err: any, resJson: IResponseBody) => void): void; sendNoRetry(message: Message, registrationIds: string|string[]|IRecipient, callback: (err: any, resJson: IResponseBody) => void): void; } export interface IResponseBody { success: number; failure: number; canonical_ids: number; multicast_id?: number; results?: { message_id?: string; registration_id?: string; error?: string; }[]; } }