import { ProjectUIDL, UIDLInstallableWebApp } from '@teleporthq/teleport-types'; /** * - `app`: the project is an installable app. * - `notify`: it is not, but a workflow shows notifications or manages push — * the worker only handles notifications and leaves the network alone. * - `retire`: neither, while an earlier publish may have shipped a worker: the * app's, or the notifications worker of a project whose push is set up. */ export type ServiceWorkerMode = 'app' | 'notify' | 'retire'; export interface WorkerPlan { mode: ServiceWorkerMode | null; app: UIDLInstallableWebApp | null; /** Present when the app stores push subscriptions: keys set up AND a push node used. */ push: { vapidPublicKey: string; subscriptionsPath: string; } | null; } export declare const resolveWorkerPlan: (uidl: ProjectUIDL) => WorkerPlan; //# sourceMappingURL=worker-plan.d.ts.map