import { CaseSensitivityDetector } from '../caseSensitivityDetector'; import { ServiceKey } from '../serviceProvider'; import { JsonObjType } from './baseUri'; export declare const enum UriKinds { file = 0, web = 1, empty = 2 } export type SerializedType = [UriKinds, ...any[]]; export interface Uri { readonly key: string; readonly scheme: string; readonly fileName: string; readonly lastExtension: string; readonly root: Uri; readonly packageUri: Uri; readonly packageStubUri: Uri; readonly initPyUri: Uri; readonly initPyiUri: Uri; readonly pytypedUri: Uri; readonly fileNameWithoutExtensions: string; readonly isCaseSensitive: boolean; readonly fragment: string; readonly query: string; isEmpty(): boolean; toString(): string; toUserVisibleString(): string; isRoot(): boolean; isChild(parent: Uri): boolean; isLocal(): boolean; isUntitled(): boolean; equals(other: Uri | undefined): boolean; startsWith(other: Uri | undefined): boolean; pathStartsWith(name: string): boolean; pathEndsWith(name: string): boolean; pathIncludes(include: string): boolean; matchesRegex(regex: RegExp): boolean; addPath(extra: string): Uri; getDirectory(): Uri; getRootPathLength(): number; getPathLength(): number; resolvePaths(...paths: string[]): Uri; combinePaths(...paths: string[]): Uri; combinePathsUnsafe(...paths: string[]): Uri; getRelativePath(child: Uri): string | undefined; getPathComponents(): readonly string[]; getPath(): string; getFilePath(): string; getRelativePathComponents(to: Uri): readonly string[]; getShortenedFileName(maxDirLength?: number): string; stripExtension(): Uri; stripAllExtensions(): Uri; replaceExtension(ext: string): Uri; addExtension(ext: string): Uri; hasExtension(ext: string): boolean; containsExtension(ext: string): boolean; withFragment(fragment: string): Uri; withQuery(query: string): Uri; toJsonObj(): any; } export declare namespace Uri { interface IServiceProvider { get(key: ServiceKey): T; } function maybeUri(value: string): boolean; function create(value: string, serviceProvider: IServiceProvider, checkRelative?: boolean): Uri; function create(value: string, caseSensitivityDetector: CaseSensitivityDetector, checkRelative?: boolean): Uri; function file(path: string, serviceProvider: IServiceProvider, checkRelative?: boolean): Uri; function file(path: string, caseSensitivityDetector: CaseSensitivityDetector, checkRelative?: boolean): Uri; function parse(uriStr: string | undefined, serviceProvider: IServiceProvider): Uri; function parse(uriStr: string | undefined, caseSensitivityDetector: CaseSensitivityDetector): Uri; function constant(markerName: string): Uri; function empty(): Uri; const DefaultWorkspaceRootComponent = ""; const DefaultWorkspaceRootPath = "/"; function defaultWorkspace(serviceProvider: IServiceProvider): Uri; function defaultWorkspace(caseSensitivityDetector: CaseSensitivityDetector): Uri; function fromJsonObj(jsonObj: JsonObjType): any; function is(thing: any): thing is Uri; function isEmpty(uri: Uri | undefined): boolean; function equals(a: Uri | undefined, b: Uri | undefined): boolean; function isDefaultWorkspace(uri: Uri): boolean; }