import { FileAnalyzerResult } from './fileAnalyzer';
import { ImportsAnalyzerResult } from './importsAnalyzer';
import { ExportPluginCtor } from './types';
export declare class Merger {
    #private;
    private options;
    delimeter: string;
    commentsDelimeter: string;
    removeComments: boolean;
    private importRegistry;
    nodeModulesRoot: string;
    constructor(options?: SolMergerOptions);
    getPragmaRegex(): RegExp;
    getImportRegex(): RegExp;
    getPragma(contents: string): string;
    stripPragma(contents: string): string;
    init(file: string): Promise<void>;
    processFile(file: string, isRoot: boolean, parentImport?: ImportsAnalyzerResult): Promise<string>;
    private buildString;
    processImports(analyzedFile: FileAnalyzerResult): Promise<string[]>;
    private getRootPath;
    processExports(analyzedFile: FileAnalyzerResult, parentImport?: ImportsAnalyzerResult): Promise<string[]>;
    private processExport;
    stripImports(contents: string): string;
    getNodeModulesPath(file: string): Promise<string>;
    private isComment;
}
export interface SolMergerOptions {
    delimeter?: string;
    removeComments?: boolean;
    commentsDelimeter?: string;
    exportPlugins?: ExportPluginCtor[];
    additionalRoots?: string[];
}
