mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
91 lines
2.7 KiB
TypeScript
91 lines
2.7 KiB
TypeScript
// 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;
|
|
}[];
|
|
}
|
|
|
|
}
|
|
|