content: // Copyright 2016 Google Inc. Use of this source code is governed by an
  // MIT-style license that can be found in the LICENSE file or at
  // https://opensource.org/licenses/MIT.
  
  import 'package:watcher/watcher.dart';
  
  /// An error thrown by [readFile].
  class FileSystemException {
    String get message => throw '';
    String? get path => throw '';
  }
  
  /// Whether the current process is running on Windows.
  bool get isWindows => throw '';
  
  /// Whether the current process is running on Mac OS.
  bool get isMacOS => throw '';
  
  /// Returns whether or not stdout is connected to an interactive terminal.
  bool get hasTerminal => throw '';
  
  /// Whether this process is connected to a terminal that supports ANSI escape
  /// sequences.
  bool get supportsAnsiEscapes => throw '';
  
  /// Prints [message] (followed by a newline) to standard output or the
  /// equivalent.
  ///
  /// This method is thread-safe.
  void safePrint(Object? message) => throw '';
  
  /// Prints [message] (followed by a newline) to standard error or the
  /// equivalent.
  ///
  /// This method is thread-safe.
  void printError(Object? message) => throw '';
  
  /// Reads the file at [path] as a UTF-8 encoded string.
  ///
  /// Throws a [FileSystemException] if reading fails, and a [SassException] if
  /// the file isn't valid UTF-8.
  String readFile(String path) => throw '';
  
  /// Writes [contents] to the file at [path], encoded as UTF-8.
  ///
  /// Throws a [FileSystemException] if writing fails.
  void writeFile(String path, String contents) => throw '';
  
  /// Deletes the file at [path].
  ///
  /// Throws a [FileSystemException] if deletion fails.
  void deleteFile(String path) => throw '';
  
  /// Reads from the standard input for the current process until it closes,
  /// returning the contents.
  Future<String> readStdin() async => throw '';
  
  /// Returns whether a file at [path] exists.
  bool fileExists(String path) => throw '';
  
  /// Returns whether a dir at [path] exists.
  bool dirExists(String path) => throw '';
  
  /// Returns whether a symbolic link at [path] exists.
  bool linkExists(String path) => throw '';
  
  /// Ensures that a directory exists at [path], creating it and its ancestors if
  /// necessary.
  void ensureDir(String path) => throw '';
  
  /// Lists the files (not sub-directories) in the directory at [path].
  ///
  /// If [recursive] is `true`, this lists files in directories transitively
  /// beneath [path] as well.
  Iterable<String> listDir(String path, {bool recursive = false}) => throw '';
  
  /// Returns the resolved physical path of [path] on disk, with symbolic links
  /// resolved and with the same case as the physical file.
  String realpath(String path) => throw '';
  
  /// Returns the modification time of the file at [path].
  DateTime modificationTime(String path) => throw '';
  
  /// Returns the value of the environment variable with the given [name], or
  /// `null` if it's not set.
  String? getEnvironmentVariable(String name) => throw '';
  
  /// Gets and sets the exit code that the process will use when it exits.
  int get exitCode => throw '';
  set exitCode(int value) => throw '';
  
  /// Recursively watches the directory at [path] for modifications.
  ///
  /// Returns a future that completes with a single-subscription stream once the
  /// directory has been scanned initially. The watch is canceled when the stream
  /// is closed.
  ///
  /// If [poll] is `true`, this manually checks the filesystem for changes
  /// periodically rather than using a native filesystem monitoring API.
  Future<Stream<WatchEvent>> watchDir(String path, {bool poll = false}) =>
      throw '';
  