import { LspClient } from "./client"; import type { editor, Position, IRange, CancellationToken, languages, IDisposable } from "monaco-editor"; import type _monaco from "monaco-editor"; import { CompletionItem, Range, DiagnosticSeverity } from "vscode-languageserver"; import { UserFolder } from "./message"; type MonacoModule = typeof _monaco; export interface MonacoPyrightProviderFeatures { hover: boolean; completion: boolean; signatureHelp: boolean; diagnostic: boolean; rename: boolean; findDefinition: boolean; } export interface MonacoPyrightOptions { features: Partial; /** Type stubs for additional module */ typeStubs?: string | UserFolder; /** Set a custom typeshed zipfile. Set `false` to disable typeshed */ typeshed?: ArrayBuffer | false; /** Minimal time in milliseconds to wait before sending next update notification */ diagnosticsInterval: number; } export declare class MonacoPyrightProvider { lspClient: LspClient; options: MonacoPyrightOptions; editorChangeListener?: IDisposable; monacoMod?: MonacoModule; constructor(workerUrl?: string, options?: Partial); init(monacoModule: MonacoModule): Promise; private timer; setupDiagnostics(editor: editor.IStandaloneCodeEditor): Promise; stopDiagnostics(): Promise; convertSeverity(severity: DiagnosticSeverity): MarkerSeverity; private updateDoc; provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): Promise; resolveRename(model: editor.ITextModel, position: Position, token: CancellationToken): Promise; provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): Promise; onSignatureHelp(model: editor.ITextModel, position: Position): Promise; onHover(model: editor.ITextModel, position: Position): Promise; onCompletionRequest(model: editor.ITextModel, position: Position): Promise; onResolveCompletion(item: languages.CompletionItem): Promise; convertLspPosition(position: Position): { line: number; character: number; }; convertCompletionItem(item: CompletionItem, model?: editor.ITextModel): languages.CompletionItem; convertRange(range: Range): IRange; convertCompletionItemKind(itemKind: CompletionItemKind): languages.CompletionItemKind; } export declare enum MarkerSeverity { Hint = 1, Info = 2, Warning = 4, Error = 8 } declare enum CompletionItemKind { Method = 0, Function = 1, Constructor = 2, Field = 3, Variable = 4, Class = 5, Struct = 6, Interface = 7, Module = 8, Property = 9, Event = 10, Operator = 11, Unit = 12, Value = 13, Constant = 14, Enum = 15, EnumMember = 16, Keyword = 17, Text = 18, Color = 19, File = 20, Reference = 21, Customcolor = 22, Folder = 23, TypeParameter = 24, User = 25, Issue = 26, Snippet = 27 } export {}; //# sourceMappingURL=index.d.ts.map