import { ReadonlyJSONObject, ReadonlyJSONValue } from '@lumino/coreutils'; export declare function sleep(timeout: number): Promise; export declare function until_ready(is_ready: any, max_retrials?: number, interval?: number, interval_modifier?: (i: number) => number): Promise; export declare 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 default_factory; constructor(default_factory: (...args: any[]) => V, entries?: ReadonlyArray | null); get(k: K): V; get_or_create(k: K, ...args: any[]): V; } export declare function server_root_uri(): string; /** * compare two URIs, discounting: * - drive capitalization * - uri encoding * TODO: probably use vscode-uri */ export declare function uris_equal(a: string, b: string): boolean; /** * grossly detect whether a URI represents a file on a windows drive */ export declare function is_win_path(uri: string): RegExpMatchArray | null; /** * lowercase the drive component of a URI */ export declare function normalize_win_path(uri: string): string; export declare function uri_to_contents_path(child: string, parent?: string): import("./_completion").CompleterTheme2; /** * 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; export declare function escapeMarkdown(text: string): string;