/**
 * Decode Base64 VLQ to number
 */
export declare function decodeVLQ(encoded: string): { value: number, rest: string };
/**
 * Parse an inline source map comment from content
 */
export declare function extractInlineSourceMap(content: string): SourceMapV3 | null;
/**
 * Remove inline source map comments from content
 */
export declare function removeInlineSourceMap(content: string): string;
/**
 * Calculate line and column from an offset in content
 */
export declare function offsetToPosition(content: string, offset: number): Position;
/**
 * Calculate offset from line and column in content
 */
export declare function positionToOffset(content: string, position: Position): number;
/**
 * Position in source or generated code
 */
export declare interface Position {
  line: number
  column: number
}
/**
 * A single mapping from generated to original position
 */
export declare interface Mapping {
  generated: Position
  source?: string
  original?: Position
  name?: string
}
/**
 * V3 Source Map format
 * @see https://sourcemaps.info/spec.html
 */
export declare interface SourceMapV3 {
  version: 3
  file?: string
  sourceRoot?: string
  sources: string[]
  sourcesContent?: (string | null)[]
  names: string[]
  mappings: string
}
/**
 * Source map generator for stx templates
 */
export declare class SourceMapGenerator {
  constructor(file: string, sourceRoot?: string);
  addSource(path: string, content?: string): number;
  addName(name: string): number;
  addMapping(mapping: Mapping): void;
  addMappingRange(generatedStart: Position, source: string, originalStart: Position, lineCount: number): void;
  toJSON(): SourceMapV3;
  toString(): string;
  toDataURL(): string;
  toInlineComment(): string;
  toJSInlineComment(): string;
  toCSSInlineComment(): string;
}
/**
 * Source map consumer for parsing and querying source maps
 */
export declare class SourceMapConsumer {
  constructor(sourceMap: SourceMapV3 | string);
  originalPositionFor(generated: Position): {
    source: string | null
    line: number | null
    column: number | null
    name: string | null
  };
  generatedPositionFor(original: { source: string, line: number, column?: number }): {
    line: number | null
    column: number | null
  };
  sourceContentFor(source: string): string | null;
  get sources(): string[];
  get rawSourceMap(): SourceMapV3;
}
/**
 * Tracks positions during template transformation for source map generation
 */
export declare class TemplateTracker {
  constructor(outputFile: string, sourceFile: string, sourceContent?: string);
  trackReplacement(originalLine: number, originalColumn: number, generatedContent: string): void;
  trackInclude(includeFile: string, includeContent: string, generatedContent: string): void;
  trackGenerated(content: string): void;
  newLine(): void;
  getCurrentPosition(): Position;
  getGenerator(): SourceMapGenerator;
  toJSON(): SourceMapV3;
  toInlineComment(): string;
}
