import { DefaultCall } from "../calling";
import { Instance, RemotePeerInstance } from "../ocra/api";
import { ApiClient } from "../ocra/ApiClient";
import { PushService } from "./PushService";
export declare const REQUEST_VIDEO_FLAG = 1;
export declare const PUSH_VERSION = 4;
export declare class OcraPushService implements PushService {
    private userId;
    private apiClient;
    private static readonly MaxPayloadSize;
    private static readonly MinSupportedPushVersion;
    pushNotificationDisplayName?: string;
    constructor(userId: string, apiClient: ApiClient);
    unregisterPushToken(instance: Instance): Promise<void>;
    registerPushToken(subscription: PushSubscription, applicationServerKey: string, instance: Instance): Promise<void>;
    private getTemplateParameters;
    private mapPushInstances;
    private mapPushInstance;
    sendPush(call: DefaultCall, instances: RemotePeerInstance[]): Promise<void>;
    getManagedPushRecipients(instances?: RemotePeerInstance[]): Set<string>;
}
