import type { ParseResult } from '@babel/parser';
import type { NodePath } from '@babel/traverse';
import type { ExportDeclaration, File, ImportDeclaration, StringLiteral, TemplateElement } from '@babel/types';
import type { JsTokenUpdater } from './JsTokenUpdater.js';
import type { NodePathWalker } from './NodePathWalker.js';
import type { JsToken } from './types.js';
export interface SourceAnalysis {
    ast: ParseResult<File>;
    walker: NodePathWalker;
    jsTokenUpdater: JsTokenUpdater;
    targetPaths: NodePath<StringLiteral | TemplateElement>[];
    importDeclarations: Set<NodePath<ImportDeclaration>>;
    exportDeclarations: Set<NodePath<ExportDeclaration>>;
    requireCallPaths: NodePath<StringLiteral>[];
    ignoredPaths: WeakSet<NodePath<StringLiteral | TemplateElement>>;
}
export declare function collectModuleSpecifierReplacementTokens(analysis: SourceAnalysis, replacements: Record<string, string>): JsToken[];
