; All import statements (used to find import nodes for direct AST walking)
(import_statement
  source: (string (string_fragment) @import.source)) @import.statement

; Type-only imports: import type { X } from 'x'
(import_statement
  "type"
  source: (string (string_fragment) @import.type_only_source)) @import.type_only

; Dynamic imports: import('x')
(call_expression
  function: (import)
  arguments: (arguments
    (string (string_fragment) @import.dynamic)))
