import { type TSESLint, type TSESTree } from '@typescript-eslint/utils';
/**
 * Returns a readable string representation of an import element
 * inside Angular standalone metadata (`imports: [...]`).
 *
 * Supports:
 * - Identifier → "A"
 * - MemberExpression → "A.B"
 * - SpreadElement → "...A"
 * - Any other expression → full source text fallback
 *
 * @example
 * nameOf(Identifier("A"), source)                 // "A"
 * nameOf(MemberExpression(A.B), source)           // "A.B"
 * nameOf(SpreadElement(Identifier("A")), source)  // "...A"
 * nameOf(SpreadElement(Member(A.B)), source)      // "...A.B"
 * nameOf(CallExpression(foo()), source)           // "foo()"
 */
export declare function nameOf(node: TSESTree.Expression | TSESTree.SpreadElement, source: Readonly<TSESLint.SourceCode>): string;
