import { Uri } from './uri'; export type JsonObjType = any; export declare abstract class BaseUri implements Uri { private readonly _key; protected constructor(_key: string); get key(): string; abstract get scheme(): string; abstract get isCaseSensitive(): boolean; abstract get fileName(): string; get fileNameWithoutExtensions(): string; abstract get lastExtension(): string; abstract get root(): Uri; get packageUri(): Uri; get packageStubUri(): Uri; get initPyUri(): Uri; get initPyiUri(): Uri; get pytypedUri(): Uri; abstract get fragment(): string; abstract get query(): string; isEmpty(): boolean; abstract toString(): string; abstract toUserVisibleString(): string; abstract toJsonObj(): JsonObjType; abstract matchesRegex(regex: RegExp): boolean; replaceExtension(ext: string): Uri; addExtension(ext: string): Uri; hasExtension(ext: string): boolean; containsExtension(ext: string): boolean; abstract withFragment(fragment: string): Uri; abstract withQuery(query: string): Uri; abstract addPath(extra: string): Uri; abstract getDirectory(): Uri; getRootPathLength(): number; abstract isRoot(): boolean; abstract isChild(parent: Uri, ignoreCase?: boolean): boolean; abstract isLocal(): boolean; isUntitled(): boolean; equals(other: Uri | undefined): boolean; abstract startsWith(other: Uri | undefined, ignoreCase?: boolean): boolean; pathStartsWith(name: string): boolean; pathEndsWith(name: string): boolean; pathIncludes(include: string): boolean; abstract getPathLength(): number; abstract resolvePaths(...paths: string[]): Uri; abstract combinePaths(...paths: string[]): Uri; abstract combinePathsUnsafe(...paths: string[]): Uri; getRelativePath(child: Uri): string | undefined; getPathComponents(): readonly string[]; abstract getPath(): string; abstract getFilePath(): string; getRelativePathComponents(to: Uri): readonly string[]; getShortenedFileName(maxDirLength?: number): string; abstract stripExtension(): Uri; abstract stripAllExtensions(): Uri; protected abstract getRootPath(): string; protected normalizeSlashes(path: string): string; protected static combinePathElements(pathString: string, separator: string, ...paths: (string | undefined)[]): string; protected reducePathComponents(components: string[]): string[]; protected abstract getComparablePath(): string; protected abstract getPathComponentsImpl(): string[]; }