import { UtilsOs } from 'tnp-core/lib';
import type * as vscodeType from 'vscode';
export declare namespace UtilsVSCode {
    const calculateContrastingHexColor: (hex: string) => string;
    const generateFancyColor: () => string;
    const vscodeImport: () => typeof vscodeType;
    const openFolder: (folderAbsPath: string | string[], editor?: UtilsOs.Editor) => Promise<void>;
    const openFile: (fileAbsPath: string | string[], options?: {
        editor?: UtilsOs.Editor;
        specyficLine?: number;
    }) => Promise<void>;
    const regenerateVsCodeSettingsColors: (cwd: string, overideBottomColor?: string) => void;
    const commonRecommededExtensionsExtensions: () => string[];
    const codiumExtensions: () => string[];
    const codeExtensions: () => string[];
    const vscodeExtensions: (editor?: UtilsOs.Editor) => string[];
    const getDeprecatedExtension: (editor?: UtilsOs.Editor) => string[];
    /**
     * This pattern finds a dash followed by at least one digit.
     * It removes everything from that dash to the end of the string.
     * Examples:
     * "name-of-extension-1.2.3" -> "name-of-extension"
     * "extension-0.9.5-win32-x64" -> "extension"
     */
    const stripVersion: (folderName: string) => string;
    const removeDeprecated: (options?: {
        editor?: UtilsOs.Editor;
    }) => Promise<void>;
    const installAndRemoveDeprecatedExtensions: (options?: {
        defaultSelectedAll?: boolean;
        editor?: UtilsOs.Editor;
        extensions?: string[];
    }) => Promise<void>;
    const installExtensions: (options?: {
        defaultSelectedAll?: boolean;
        editor?: UtilsOs.Editor;
        extensions?: string[];
    }) => Promise<void>;
    /**
     * @deprecated
     */
    const installedExtensions: () => string[];
    const applyProperGlobalSettings: (options?: {
        editor?: UtilsOs.Editor;
    }) => Promise<void>;
}
