import { Replacement, SourceAndMapMixin } from '.'; import Source = require('./Source'); /** * Decorates a Source with replacements and insertions of source code. * */ declare class ReplaceSource extends Source implements SourceAndMapMixin { replacements: Replacement[]; /** * The ReplaceSource supports "identity" mappings for child source. * When original source matches generated source for a mapping it's assumed to be mapped char by char allowing to split mappings at replacements/insertions. */ constructor(source: Source, name?: string); /** * Replaces chars from start (0-indexed, inclusive) to end (0-indexed, inclusive) with replacement. */ replace(start: number, end: number, newValue: string, name?: string): void; /** * Inserts the insertion before char pos (0-indexed). */ insert(pos: number, newValue: string, name?: string): void; /** * Get decorated Source. */ original(): Source; source(): string; } export = ReplaceSource;