import type { HomeServerApi } from "../net/HomeServerApi.js"; import type { ILogItem } from "../../logging/types"; export interface IPusherDescription { kind: "http" | "email" | "null"; lang: string; device_display_name: string; app_display_name: string; app_id: string; pushkey: string; data: IPusherData; append?: boolean; profile_tag?: string; } interface IPusherData { format?: string; url?: string; endpoint?: PushSubscriptionJSON["endpoint"]; keys?: PushSubscriptionJSON["keys"]; } export declare class Pusher { private readonly _description; constructor(description: IPusherDescription); static httpPusher(host: string, appId: string, pushkey: string, data: IPusherData): Pusher; static createDefaultPayload(sessionId: string): { session_id: string; }; enable(hsApi: HomeServerApi, log: ILogItem): Promise; disable(hsApi: HomeServerApi, log: ILogItem): Promise; serialize(): IPusherDescription; equals(pusher: any): boolean; } export {};