import { ExtensionContext } from 'coc.nvim'; export interface ILanguageServerPackage { executable: string; platformPath: string | RegExp; } export interface ILanguageServerPackages { [platform: string]: ILanguageServerPackage; } export declare type LanguageServerRepository = { kind: "github"; repo: string; channel: string; } | { kind: "url-prefix"; url: string; }; interface IDownloadInfo { url: string; version: string; id: number; downloadedTime: number; } export declare class LanguageServerProvider { private repo; private extensionStoragePath; private languageServerName; private languageServerDirectory; private languageServerZip; private languageServerExe; private languageServerPackage; constructor(extension: ExtensionContext, name: string, packs: ILanguageServerPackages, repo: LanguageServerRepository); fetchDownloadInfo(platfile: string | RegExp): Promise; loadLocalDownloadInfo(): IDownloadInfo; saveLocalDownloadInfo(inf: IDownloadInfo): void; downloadLanguageServer(): Promise; getLanguageServer(): Promise; getLanguageServerVersion(): string; shouldRegularUpdate(): boolean; } export {};