import { ReadonlyJSONObject, ReadonlyJSONValue } from '@lumino/coreutils'; export declare function sleep(timeout: number): Promise; export type ModifierKey = 'Shift' | 'Alt' | 'AltGraph' | 'Control' | 'Meta' | 'Accel'; /** * CodeMirror-proof implementation of event.getModifierState() */ export declare function getModifierState(event: MouseEvent | KeyboardEvent, modifierKey: ModifierKey): boolean; export declare class DefaultMap extends Map { private defaultFactory; constructor(defaultFactory: (...args: any[]) => V, entries?: ReadonlyArray | null); get(k: K): V; getOrCreate(k: K, ...args: any[]): V; } /** * compare two URIs, discounting: * - drive capitalization * - uri encoding * TODO: probably use vscode-uri */ export declare function urisEqual(a: string, b: string): boolean; /** * grossly detect whether a URI represents a file on a windows drive */ export declare function isWinPath(uri: string): RegExpMatchArray | null; /** * lowercase the drive component of a URI */ export declare function normalizeWinPath(uri: string): string; export declare function uriToContentsPath(child: string, parent?: string): string | null; /** * The docs for many language servers show settings in the * VSCode format, e.g.: "pyls.plugins.pyflakes.enabled" * * VSCode converts that dot notation to JSON behind the scenes, * as the language servers themselves don't accept that syntax. */ export declare const expandPath: (path: string[], value: ReadonlyJSONValue) => ReadonlyJSONObject; export declare const expandDottedPaths: (obj: ReadonlyJSONObject) => ReadonlyJSONObject; interface ICollapsingResult { result: Record; conflicts: Record; } export declare function collapseToDotted(obj: ReadonlyJSONObject): ICollapsingResult; export declare function escapeMarkdown(text: string): string; export {};