/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { INativeEnvironmentService } from '../../environment/common/environment.mjs';
import { IExecutableBasedExtensionTip, IExtensionManagementService } from '../common/extensionManagement.mjs';
import { ExtensionTipsService as BaseExtensionTipsService } from '../common/extensionTipsService.mjs';
import { IExtensionRecommendationNotificationService } from '../../extensionRecommendations/common/extensionRecommendations.mjs';
import { IFileService } from '../../files/common/files.mjs';
import { INativeHostService } from '../../native/electron-sandbox/native.mjs';
import { IProductService } from '../../product/common/productService.mjs';
import { IStorageService } from '../../storage/common/storage.mjs';
import { ITelemetryService } from '../../telemetry/common/telemetry.mjs';
export declare class ExtensionTipsService extends BaseExtensionTipsService {
	private readonly environmentService;
	private readonly telemetryService;
	private readonly extensionManagementService;
	private readonly storageService;
	private readonly nativeHostService;
	private readonly extensionRecommendationNotificationService;
	private readonly highImportanceExecutableTips;
	private readonly mediumImportanceExecutableTips;
	private readonly allOtherExecutableTips;
	private highImportanceTipsByExe;
	private mediumImportanceTipsByExe;
	constructor(
		environmentService: INativeEnvironmentService,
		telemetryService: ITelemetryService,
		extensionManagementService: IExtensionManagementService,
		storageService: IStorageService,
		nativeHostService: INativeHostService,
		extensionRecommendationNotificationService: IExtensionRecommendationNotificationService,
		fileService: IFileService,
		productService: IProductService,
	);
	getImportantExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]>;
	getOtherExecutableBasedTips(): Promise<IExecutableBasedExtensionTip[]>;
	private collectTips;
	private groupImportantTipsByExe;
	/**
	 * High importance tips are prompted once per restart session
	 */
	private promptHighImportanceExeBasedTip;
	/**
	 * Medium importance tips are prompted once per 7 days
	 */
	private promptMediumImportanceExeBasedTip;
	private promptExeRecommendations;
	private getLastPromptedMediumExeTime;
	private updateLastPromptedMediumExeTime;
	private getPromptedExecutableTips;
	private addToRecommendedExecutables;
	private groupByInstalled;
	private getValidExecutableBasedExtensionTips;
}
