/** @experimental */ export declare class ServiceWorkerModule { static register(script: string, opts?: { scope?: string; enabled?: boolean; }): ModuleWithProviders; } /** @experimental */ export declare class SwPush { readonly isEnabled: boolean; readonly messages: Observable; readonly subscription: Observable; constructor(sw: NgswCommChannel); requestSubscription(options: { serverPublicKey: string; }): Promise; unsubscribe(): Promise; } /** @experimental */ export declare class SwUpdate { readonly activated: Observable; readonly available: Observable; readonly isEnabled: boolean; constructor(sw: NgswCommChannel); activateUpdate(): Promise; checkForUpdate(): Promise; } /** @experimental */ export interface UpdateActivatedEvent { current: { hash: string; appData?: Object; }; previous?: { hash: string; appData?: Object; }; type: 'UPDATE_ACTIVATED'; } /** @experimental */ export interface UpdateAvailableEvent { available: { hash: string; appData?: Object; }; current: { hash: string; appData?: Object; }; type: 'UPDATE_AVAILABLE'; }