import type { NodePath } from '@babel/traverse';
import type { ExportAllDeclaration, ImportDeclaration, ImportDefaultSpecifier, ImportSpecifier, Node } from '@babel/types';
export interface ImportSpecifierImportToken {
    declaration: NodePath<ImportDeclaration>;
    specifier: NodePath<ImportSpecifier>;
    local: string;
    imported: string;
    source: string;
    type: 'ImportSpecifier';
}
export interface ImportDefaultSpecifierImportToken {
    declaration: NodePath<ImportDeclaration>;
    specifier: NodePath<ImportDefaultSpecifier>;
    local: string;
    source: string;
    type: 'ImportDefaultSpecifier';
}
export interface ExportAllDeclarationImportToken {
    declaration: NodePath<ExportAllDeclaration>;
    source: string;
    type: 'ExportAllDeclaration';
}
export type ImportToken = ImportSpecifierImportToken | ImportDefaultSpecifierImportToken | ExportAllDeclarationImportToken;
export declare function maybeAddImportToken(imports: Set<ImportToken>, arg: NodePath<Node | null | undefined>): boolean;
