import { Event } from "../utils/Event";
export declare class PushServiceWorker {
    private name;
    private serviceWorker;
    private static readonly PERMISSION_DENIED;
    private registration?;
    constructor(name: string, serviceWorker: ServiceWorkerContainer);
    register(): Promise<void>;
    unregister(): Promise<void>;
    subscribe(applicationServerKey: string): Promise<PushSubscription>;
    unsubscribe(subscription: PushSubscription): Promise<void>;
    getSubscription(): Promise<PushSubscription | null>;
    showNotification(title: string, options: NotificationOptions): void;
    addEventListener(listener: Event): void;
    isPushManagerAvailable(): boolean;
    arePushPermissionsExplicitlyDenied(): Promise<boolean>;
    private get serviceWorkerRegistration();
}
export declare class ServiceWorkerFactory {
    static serviceWorker: ServiceWorkerContainer | undefined;
    static create(name: string): PushServiceWorker;
}
