export declare class ServiceWorkerModule { static register(script: string, opts?: SwRegistrationOptions): ModuleWithProviders; } export declare class SwPush { readonly isEnabled: boolean; readonly messages: Observable; readonly notificationClicks: Observable<{ action: string; notification: NotificationOptions & { title: string; }; }>; readonly subscription: Observable; constructor(sw: NgswCommChannel); requestSubscription(options: { serverPublicKey: string; }): Promise; unsubscribe(): Promise; } export declare abstract class SwRegistrationOptions { enabled?: boolean; registrationStrategy?: (() => Observable) | string; scope?: string; } export declare class SwUpdate { readonly activated: Observable; readonly available: Observable; readonly isEnabled: boolean; constructor(sw: NgswCommChannel); activateUpdate(): Promise; checkForUpdate(): Promise; } export interface UpdateActivatedEvent { current: { hash: string; appData?: Object; }; previous?: { hash: string; appData?: Object; }; type: 'UPDATE_ACTIVATED'; } export interface UpdateAvailableEvent { available: { hash: string; appData?: Object; }; current: { hash: string; appData?: Object; }; type: 'UPDATE_AVAILABLE'; }