import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy } from '@angular/core'; import { ConfigService, HotkeysService, PlatformService } from 'tabby-core'; import { CommandUsageStats } from './runtimeStorage'; import { PluginConfigImportFile } from './pluginConfigStorage'; import { QuickCommand } from './types'; import { QuickCommandsI18n } from './i18n'; import { PluginUpdateHistoryState, PluginUpdateState, QuickCommandsPluginUpdateService } from './pluginUpdate.service'; import { UpdateCheckInterval } from './pluginUpdate'; import { QuickCommandsService } from './quickCommands.service'; import { PluginHotkeyAction, PluginHotkeyBinding, PluginHotkeyDefinition } from './pluginHotkeys'; import { ActivityLogEntry, ActivityLogRetentionSettings } from './activityLog/activityLog.types'; interface SettingsSectionLink { id: string; label: string; } export declare class QuickCommandsSettingsTabComponent implements AfterViewInit, OnDestroy { private platform; private changeDetector; private element; private i18n; private zone; private pluginUpdate; private quickCommands; private tabbyConfig; private hotkeys?; readonly pluginTitle: string; readonly defaultExportFileName: string; readonly pluginHotkeyDefinitions: PluginHotkeyDefinition[]; readonly settingsSections: SettingsSectionLink[]; activeSettingsSection: string; settingsNavigationOpen: boolean; recordingHotkeyAction: PluginHotkeyAction | null; recordingCommandHotkeyId: string | null; recordingPressedKeys: string[]; pluginHotkeyDialogOpen: boolean; pluginHotkeySaving: boolean; pluginHotkeyDialogError: string; pluginHotkeySearchQuery: string; commandHotkeySectionExpanded: boolean; hotkeyCommandTooltip: { text: string; left: number; top: number; } | null; failureMenuOpen: boolean; updateIntervalMenuOpen: boolean; commandCategoryMenuOpen: boolean; commandUsageMenuOpen: boolean; commandQuery: string; commandCategory: string; commandUsage: 'all' | 'used' | 'unused'; commandPage: number; batchDeleteConfirmOpen: boolean; batchMoveOpen: boolean; batchMoveCategoryMenuOpen: boolean; batchMoveCategory: string; exportConfigDialogOpen: boolean; exportFileNameDraft: string; pendingConfigImport: PluginConfigImportFile | null; resetDefaultsConfirmOpen: boolean; resetInitialConfirmOpen: boolean; resetInitialAcknowledged: boolean; resetInitialError: string; resetInProgress: boolean; selectedCommandIds: Set; runtimeLogs: ActivityLogEntry[]; activityLogSizeBytes: number; runtimeStats: CommandUsageStats; configMessage: string; configMessageDetail: string; readonly projectUrl = "https://github.com/windyy0/tabby-windy-quick-commands"; readonly issuesUrl = "https://github.com/windyy0/tabby-windy-quick-commands/issues"; updateState: PluginUpdateState; updateCheckInterval: UpdateCheckInterval; showUpdateCheckStatus: boolean; updateDetailsExpanded: boolean; updateHistoryOpen: boolean; updateHistoryState: PluginUpdateHistoryState; expandedHistoryVersions: Set; private historyExpansionInitialized; private configMessageTimer; private updateCheckStatusTimer; private capturedHotkeyTimer; private recordingPressedKeyMap; private recordingShortcutCandidate; private recordingShortcutAttempted; private recordingPrimaryKeyId; private recentlyCapturedHotkey; private runtimeStore; private activityLog; private pluginConfigStore; private pluginConfig; private savedConfigSnapshot; private pluginHotkeyDraft; private commandHotkeyDraft; private hotkeyConflictCache; private tabbyHotkeysDisabledForCapture; private stopLocalizing; private stopObservingSettingsSections; private requestSettingsSectionUpdate; private settingsScrollTarget; private settingsScrollSettleTimer; private settingsNavigationTimer; private settingsNavigationReturningFocus; private readonly subscriptions; constructor(platform: PlatformService, changeDetector: ChangeDetectorRef, element: ElementRef, i18n: QuickCommandsI18n, zone: NgZone, pluginUpdate: QuickCommandsPluginUpdateService, quickCommands: QuickCommandsService, tabbyConfig: ConfigService, hotkeys?: HotkeysService); ngAfterViewInit(): void; ngOnDestroy(): void; private startLocalizing; get root(): any; get commandCount(): number; get logCount(): number; get activeSettingsSectionLabel(): string; get activityLogRetention(): ActivityLogRetentionSettings; get allCommandStats(): any[]; get commandStats(): any[]; get commandCategories(): string[]; get moveCategories(): string[]; get commandFiltersActive(): boolean; get commandCategoryLabel(): string; get commandUsageLabel(): string; get commandPageCount(): number; get commandPageNumber(): number; get pagedCommandStats(): any[]; get selectedCommandCount(): number; get allCommandsSelected(): boolean; get currentPageSelected(): boolean; get currentPagePartiallySelected(): boolean; get failureStrategyLabel(): string; closeFailureMenu(): void; closeFailureMenuOnEscape(event?: KeyboardEvent): void; refreshRuntimeData(): void; refreshPluginConfig(): void; capturePluginHotkey(event: KeyboardEvent): void; finishPluginHotkeyKey(event: KeyboardEvent): Promise; resetPressedHotkeysOnBlur(): void; private finishHotkeyCaptureAttempt; refreshAfterDataReset(): void; get updateStatusLabel(): string; toggleUpdateDetails(): void; checkForUpdates(): void; checkForUpdatesWithStatus(): void; dismissUpdateCheckStatus(): void; private clearUpdateCheckStatusTimer; scrollToUpdateSettings(): void; scrollToSettingsTop(): void; toggleSettingsNavigation(): void; scheduleSettingsNavigationOpen(): void; scheduleSettingsNavigationClose(): void; onSettingsNavigationFocus(event: FocusEvent): void; onSettingsNavigationBlur(event: FocusEvent): void; focusSettingsNavigation(event: KeyboardEvent): void; private clearSettingsNavigationTimer; private closeSettingsNavigation; scrollToSettingsSection(sectionId: string): void; private clearSettingsScrollSettleTimer; private beginSettingsScroll; private scheduleSettingsScrollSettled; private finishSettingsScroll; private observeSettingsSections; get canInstallUpdate(): boolean; get updateInstallDisabledHint(): string; installUpdate(): void; ignoreCurrentUpdate(): void; openUpdateHistory(): void; closeUpdateHistory(): void; reloadUpdateHistory(): void; toggleHistoryVersion(version: string): void; isHistoryVersionExpanded(version: string): boolean; formatHistoryDate(value: string): string; get updateCheckIntervalLabel(): string; toggleUpdateIntervalMenu(): void; selectUpdateCheckInterval(interval: UpdateCheckInterval): void; private scrollTo; toggleFailureMenu(): void; setFailureStrategy(strategy: 'continue' | 'stop' | 'manual'): void; setCommandQuery(event: Event): void; toggleCommandCategoryMenu(): void; toggleCommandUsageMenu(): void; setCommandCategory(category: string): void; setCommandUsage(usage: string): void; clearCommandFilters(): void; previousCommandPage(): void; nextCommandPage(): void; isCommandSelected(commandId: string): boolean; toggleCommandSelection(commandId: string): void; toggleCurrentPageSelection(): void; selectAllCommands(): void; clearCommandSelection(): void; openBatchMove(): void; closeBatchMove(): void; toggleBatchMoveCategoryMenu(): void; selectBatchMoveCategory(category: string): void; moveSelectedCommands(): void; openBatchDeleteConfirm(): void; closeBatchDeleteConfirm(): void; deleteSelectedCommands(): void; openLogLocation(): void; openExternal(event: Event, url: string): void; openExportPluginConfig(): void; closeExportPluginConfig(): void; setExportFileNameDraft(event: Event): void; confirmExportPluginConfig(event?: Event): void; private renderExportConfigFileName; importPluginConfig(event: Event): Promise; cancelPendingConfigImport(): void; importPendingCommands(): void; importPendingFullConfig(): Promise; openResetDefaultsConfirm(): void; closeResetDefaultsConfirm(): void; get pluginDataDirectory(): string; openResetInitialConfirm(): void; backToResetDefaults(): void; setResetInitialAcknowledged(event: Event): void; restoreInitialState(): void; restoreDefaultSettings(): Promise; setInitialFocusValue(value: 'drawer' | 'terminal'): void; getPluginHotkeys(action: PluginHotkeyAction): PluginHotkeyBinding[]; get configuredPluginHotkeyActionCount(): number; get pluginHotkeyConflictCount(): number; get configuredCommandHotkeyCount(): number; get commandHotkeyConflictCount(): number; get hotkeyConflictCount(): number; get filteredPluginHotkeyDefinitions(): PluginHotkeyDefinition[]; get commandHotkeyCommands(): QuickCommand[]; get filteredCommandHotkeyCommands(): QuickCommand[]; get commandHotkeyRowsVisible(): boolean; get pluginHotkeyDraftDirty(): boolean; get commandHotkeyDraftDirty(): boolean; get hotkeyDialogDirty(): boolean; get pluginHotkeyDraftIsDefault(): boolean; formatPluginHotkey(binding: PluginHotkeyBinding): string; getPluginHotkeyConflict(action: PluginHotkeyAction, binding: PluginHotkeyBinding): string; getPluginHotkeyStatus(action: PluginHotkeyAction): string; getCommandHotkey(commandId: string): string; getCommandHotkeyConflict(commandId: string): string; get isCapturingHotkey(): boolean; isRecentlyCapturedPluginHotkey(action: PluginHotkeyAction, binding: PluginHotkeyBinding): boolean; isRecentlyCapturedCommandHotkey(commandId: string, shortcut: string): boolean; openPluginHotkeyDialog(): void; closePluginHotkeyDialog(restoreFocus?: boolean): void; setPluginHotkeySearch(event: Event): void; clearPluginHotkeySearch(): void; toggleCommandHotkeySection(): void; startPluginHotkeyCapture(action: PluginHotkeyAction, event: Event): void; startCommandHotkeyCapture(commandId: string, event: Event): void; private hotkeyEventId; private hotkeyPreviewKey; private isHotkeyModifier; private releaseRecordedHotkeyKey; private syncRecordingPressedKeys; private resetHotkeyPressState; private stopHotkeyCapture; private suspendTabbyHotkeysForCapture; private resumeTabbyHotkeysAfterCapture; private markCapturedHotkey; private clearCapturedHotkeyFeedback; removePluginHotkey(action: PluginHotkeyAction, index: number): Promise; clearPluginHotkey(action: PluginHotkeyAction): Promise; clearCommandHotkey(commandId: string): Promise; showHotkeyCommandTooltip(event: Event): void; hideHotkeyCommandTooltip(): void; openCommandFromHotkeyDialog(commandId: string): Promise; resetAllPluginHotkeys(): Promise; setBooleanValue(field: string, value: boolean): void; setToolbarButtonVisibility(event: Event): void; setNumber(field: string, event: Event, min: number, max: number): void; releaseNumberWheel(event: WheelEvent): void; clearLogs(): void; updateActivityLogRetention(settings: ActivityLogRetentionSettings): void; private recordActivity; formatFullTime(isoTime: string): string; formatLastUsed(isoTime: string | null | undefined): string; private timeValue; private resetCommandFilterPage; private applyImportedConfig; private setPluginHotkeyDraftBindings; private setCommandHotkeyDraft; private getCommandHotkeyDraftCommands; private getHotkeyConflictCache; private pluginBindingConflictKey; private invalidateHotkeyConflictCache; private reloadPluginHotkeyDraft; private reloadCommandHotkeyDraft; private commitHotkeyDialogChanges; private persistHotkeyDialogChanges; private getPluginHotkeyConflictSource; private cloneHotkeyConfig; private clonePluginHotkeyExport; private pluginHotkeyExportId; private persistPluginHotkeyExport; private createImportIdFactory; private stripCommandRuntime; private save; dismissConfigMessage(): void; private showConfigMessage; private downloadJson; } export {};