import { BehaviorSubject } from 'rxjs'; import { BootstrapData, ConfigService, PlatformService } from 'tabby-core'; import { QuickCommandsI18n } from './i18n'; import { UpdateCheckInterval } from './pluginUpdate'; export declare const quickCommandsPackageName: string; export declare const quickCommandsUpdatePackageName: string; export type PluginUpdateStatus = 'idle' | 'checking' | 'current' | 'available' | 'error' | 'installing' | 'restart'; export interface PluginUpdateState { currentVersion: string; latestVersion: string | null; available: boolean; ignored: boolean; status: PluginUpdateStatus; releaseNotes: string; error: string; } export interface PluginUpdateHistoryEntry { version: string; publishedAt: string; releaseNotes: string; hasReleaseNotes: boolean; } export type PluginUpdateHistoryStatus = 'idle' | 'loading' | 'refreshing' | 'ready' | 'error'; export interface PluginUpdateHistoryState { status: PluginUpdateHistoryStatus; entries: PluginUpdateHistoryEntry[]; error: string; } export declare class QuickCommandsPluginUpdateService { private platform; private config; private i18n; readonly state$: BehaviorSubject; readonly historyState$: BehaviorSubject; private configStore; private readonly cachePath; private readonly historyCachePath; private readonly sourceStatsPath; private checkPromise; private checkTimer; private initialCheckTimer; private requests; private scheduledInterval; private lastAttemptAt; private focusSettingsRequested; private cache; private historyPromise; private historySources; private historyCache; private sourceStats; private manualCheckRequested; constructor(platform: PlatformService, config: ConfigService, i18n: QuickCommandsI18n, bootstrapData: BootstrapData); get snapshot(): PluginUpdateState; get checkInterval(): UpdateCheckInterval; get canInstallUpdate(): boolean; checkNow(): Promise; loadHistory(force?: boolean): Promise; installLatest(): Promise; ignoreLatest(): void; setCheckInterval(interval: UpdateCheckInterval): void; requestSettingsFocus(): void; consumeSettingsFocusRequest(): boolean; private checkForUpdates; private performCheck; private applyLatestVersion; private fetchUpdateNotesDocument; private performHistoryLoad; private fetchHistoryUpdateNotesDocument; private renderHistory; private registrySources; private fetchUpdateNotesFromSources; private readValidLatestVersion; private isValidUpdateNotesDocument; private fetchAdaptiveJson; private fetchJsonAttempt; private recordSourceResult; private formatCheckError; private applyCache; private refreshPreferenceState; private scheduleAutomaticCheck; private getIgnoredVersion; private patchState; private readCache; private writeCache; private readSourceStats; private writeSourceStats; private applyHistoryCache; private isHistoryCacheFresh; private readHistoryCache; private writeHistoryCache; }