implementation_imports 
            
            Don’t import implementation files from another package.
This rule is available as of Dart 2.0.0.
Rule sets: recommended, flutter
Details
From the the pub package layout doc:
DON’T import implementation files from another package.
The libraries inside lib are publicly visible: other packages are free to
import them.  But much of a package’s code is internal implementation libraries
that should only be imported and used by the package itself.  Those go inside a
subdirectory of lib called src.  You can create subdirectories in there if
it helps you organize things.
You are free to import libraries that live in lib/src from within other Dart
code in the same package (like other libraries in lib, scripts in bin,
and tests) but you should never import from another package’s lib/src
directory.  Those files are not part of the package’s public API, and they
might change in ways that could break your code.
BAD:
// In 'road_runner'
import 'package:acme/src/internals.dart';
Usage
To enable the implementation_imports rule,
add implementation_imports under linter > rules in your
analysis_options.yaml
file:
linter:
  rules:
    - implementation_imports