type GeneratedColumn = number; type SourcesIndex = number; type SourceLine = number; type SourceColumn = number; type NamesIndex = number; type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex]; interface SourceMapV3 { file?: string | null; names: string[]; sourceRoot?: string; sources: (string | null)[]; sourcesContent?: (string | null)[]; version: 3; } interface EncodedSourceMap extends SourceMapV3 { mappings: string; } interface DecodedSourceMap extends SourceMapV3 { mappings: SourceMapSegment[][]; } type SourceMapInput = string | Ro<EncodedSourceMap> | Ro<DecodedSourceMap> | TraceMap; declare abstract class SourceMap { version: SourceMapV3['version']; file: SourceMapV3['file']; names: SourceMapV3['names']; sourceRoot: SourceMapV3['sourceRoot']; sources: SourceMapV3['sources']; sourcesContent: SourceMapV3['sourcesContent']; resolvedSources: SourceMapV3['sources']; } type Ro<T> = T extends Array<infer V> ? V[] | Readonly<V[]> | RoArray<V> | Readonly<RoArray<V>> : T extends object ? T | Readonly<T> | RoObject<T> | Readonly<RoObject<T>> : T; type RoArray<T> = Ro<T>[]; type RoObject<T> = { [K in keyof T]: T[K] | Ro<T[K]>; }; declare class TraceMap implements SourceMap { version: SourceMapV3['version']; file: SourceMapV3['file']; names: SourceMapV3['names']; sourceRoot: SourceMapV3['sourceRoot']; sources: SourceMapV3['sources']; sourcesContent: SourceMapV3['sourcesContent']; resolvedSources: string[]; private _encoded; private _decoded; private _decodedMemo; private _bySources; private _bySourceMemos; constructor(map: SourceMapInput, mapUrl?: string | null); } export type { DecodedSourceMap as D, EncodedSourceMap as E, SourceMapInput as S };