import { SyntaxErrorDetails } from './SyntaxErrorDetails';
import { SyntaxErrorDetailsExtractor } from './SyntaxErrorDetailsExtractor';
export declare abstract class BaseSyntaxErrorDetailsExtractor<T extends Error> implements SyntaxErrorDetailsExtractor {
    private source;
    private _lineOffsets;
    get lineOffsets(): number[];
    protected abstract extractOffset(error: T): number | undefined;
    extract(error: T, source: string): SyntaxErrorDetails;
    protected extractSnippet(_error: T): string | undefined;
    protected extractMessage(error: T): string;
    protected calculateOffset(lineNumber: number, columnNumber: number): number;
}
