import { PushService } from "./PushService";
import { Instance } from "../instance/UserInstance";
export interface PushWorker {
    showNotification(title: string, options: NotificationOptions): void;
    register(): Promise<void>;
    unregister(): Promise<void>;
    addEventListener(action: (evt: any) => void): void;
    start(applicationServerKey: string, instance: Instance): Promise<void>;
    assertPushEnvironment(): Promise<void>;
}
export declare class W3CPushWorker implements PushWorker {
    private pushService;
    static readonly ERROR_MANAGER_NOT_AVAILABLE = "PushManager not available. Make sure you're using properly configured application on browser that supports push notifications.";
    static readonly ERROR_PERMISSIONS_DENIED = "Push notifications permissions denied. Make sure you allow push notifications.";
    private pushEvent;
    private settings;
    private pushServiceWorker;
    constructor(serviceWorkerName: string, pushService: PushService);
    showNotification(title: string, options: NotificationOptions): void;
    register(): Promise<void>;
    unregister(): Promise<void>;
    addEventListener(action: (evt: any) => void): void;
    start(applicationServerKey: string, instance: Instance): Promise<void>;
    assertPushEnvironment(): Promise<void>;
}
