import { EventEmitter } from "node:events"; import { type PrivateKey } from "fast-jwt"; import { Pool } from "undici"; import { ApnsError } from "./errors.js"; import { type Notification } from "./notifications/notification.js"; export declare const Host: { readonly production: "api.push.apple.com"; readonly development: "api.sandbox.push.apple.com"; }; export type Host = (typeof Host)[keyof typeof Host]; export interface SigningToken { value: string; timestamp: number; } export interface ApnsOptions { team: string; signingKey: string | Buffer | PrivateKey; keyId: string; defaultTopic?: string; host?: Host | string; requestTimeout?: number; keepAlive?: boolean; } export declare class ApnsClient extends EventEmitter { readonly team: string; readonly keyId: string; readonly host: Host | string; readonly signingKey: string | Buffer | PrivateKey; readonly defaultTopic?: string; readonly keepAlive: boolean; readonly client: Pool; private _token; private _pingInterval; constructor(options: ApnsOptions); sendMany(notifications: Notification[]): Promise<(Notification | { error: ApnsError; })[]>; send(notification: Notification): Promise; ping(): Promise[]>; close(): Promise; destroy(err?: Error | null): Promise; private _handleServerResponse; private _getSigningToken; }