import type { MigrationSnapshot } from '../app-migration-shared.js'; export type MigrationOperation = 'app.migration.status' | 'app.migration.check' | 'app.migration.download' | 'app.migration.cancel' | 'app.migration.install' | 'app.migration.reveal' | 'app.migration.dismiss'; type Call = (operation: MigrationOperation, params?: Record) => Promise; interface View { status?: MigrationSnapshot; visible: boolean; busy: boolean; error: string; } export declare function localMigrationDesktop(): boolean; export declare class AppMigrationStore { private readonly call; private readonly eligible; private readonly foreground; private value; private listeners; private pending; private timer; private suppressed; private dismissalRevision; private stopped; private wasForeground; constructor(call?: Call, eligible?: typeof localMigrationDesktop, foreground?: () => boolean); getSnapshot: () => View; subscribe: (listener: () => void) => (() => void); private set; private accept; refresh(check?: boolean, manual?: boolean): Promise; private focus; start(): () => void; open(): Promise; action(operation: 'download' | 'cancel' | 'reveal' | 'install'): Promise; dismiss(): Promise; } export declare const appMigrationStore: AppMigrationStore; export {}; //# sourceMappingURL=app-migration-store.d.ts.map