/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import fs from "node:fs/promises";
import { MaybePromise } from "./types.cts";
export declare const useFs: () => {
  outputFile: typeof import("fs-extra").outputFile;
  emptyDir: typeof import("fs-extra").emptyDir;
  ensureDir: typeof import("fs-extra").ensureDir;
  copy: typeof import("fs-extra").copy;
  pathExists: typeof import("fs-extra").pathExists;
  readJson: <T>(path: string) => Promise<T>;
  modifyJson: <T_1, V = T_1>(path: string, modify: (input?: T_1 | undefined) => MaybePromise<V | undefined>) => Promise<void>;
  tryReadJson: <T_2>(path: string) => Promise<T_2 | undefined>;
  listFiles: (dir?: string) => Promise<string[]>;
  isFile: (path: string) => Promise<boolean>;
  isDirectory: (path: string) => Promise<boolean>;
  access(path: import("fs").PathLike, mode?: number | undefined): Promise<void>;
  access(path: import("fs").PathLike, mode?: number | undefined): Promise<void>;
  copyFile(src: import("fs").PathLike, dest: import("fs").PathLike, mode?: number | undefined): Promise<void>;
  copyFile(src: import("fs").PathLike, dest: import("fs").PathLike, mode?: number | undefined): Promise<void>;
  open(path: import("fs").PathLike, flags?: string | number | undefined, mode?: import("fs").Mode | undefined): Promise<fs.FileHandle>;
  open(path: import("fs").PathLike, flags?: string | number | undefined, mode?: import("fs").Mode | undefined): Promise<fs.FileHandle>;
  rename(oldPath: import("fs").PathLike, newPath: import("fs").PathLike): Promise<void>;
  rename(oldPath: import("fs").PathLike, newPath: import("fs").PathLike): Promise<void>;
  truncate(path: import("fs").PathLike, len?: number | undefined): Promise<void>;
  truncate(path: import("fs").PathLike, len?: number | undefined): Promise<void>;
  rmdir(path: import("fs").PathLike, options?: import("fs").RmDirOptions | undefined): Promise<void>;
  rmdir(path: import("fs").PathLike, options?: import("fs").RmDirOptions | undefined): Promise<void>;
  rm(path: import("fs").PathLike, options?: import("fs").RmOptions | undefined): Promise<void>;
  rm(path: import("fs").PathLike, options?: import("fs").RmOptions | undefined): Promise<void>;
  mkdir(path: import("fs").PathLike, options: import("fs").MakeDirectoryOptions & {
    recursive: true;
  }): Promise<string | undefined>;
  mkdir(path: import("fs").PathLike, options?: import("fs").Mode | (import("fs").MakeDirectoryOptions & {
    recursive?: false | undefined;
  }) | null | undefined): Promise<void>;
  mkdir(path: import("fs").PathLike, options?: import("fs").Mode | import("fs").MakeDirectoryOptions | null | undefined): Promise<string | undefined>;
  mkdir(path: import("fs").PathLike, options: import("fs").MakeDirectoryOptions & {
    recursive: true;
  }): Promise<string | undefined>;
  mkdir(path: import("fs").PathLike, options?: import("fs").Mode | (import("fs").MakeDirectoryOptions & {
    recursive?: false | undefined;
  }) | null | undefined): Promise<void>;
  mkdir(path: import("fs").PathLike, options?: import("fs").Mode | import("fs").MakeDirectoryOptions | null | undefined): Promise<string | undefined>;
  readdir(path: import("fs").PathLike, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }) | null | undefined): Promise<string[]>;
  readdir(path: import("fs").PathLike, options: "buffer" | {
    encoding: "buffer";
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }): Promise<Buffer[]>;
  readdir(path: import("fs").PathLike, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }) | null | undefined): Promise<string[] | Buffer[]>;
  readdir(path: import("fs").PathLike, options: import("fs").ObjectEncodingOptions & {
    withFileTypes: true;
    recursive?: boolean | undefined;
  }): Promise<import("fs").Dirent[]>;
  readdir(path: import("fs").PathLike, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }) | null | undefined): Promise<string[]>;
  readdir(path: import("fs").PathLike, options: "buffer" | {
    encoding: "buffer";
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }): Promise<Buffer[]>;
  readdir(path: import("fs").PathLike, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    withFileTypes?: false | undefined;
    recursive?: boolean | undefined;
  }) | null | undefined): Promise<string[] | Buffer[]>;
  readdir(path: import("fs").PathLike, options: import("fs").ObjectEncodingOptions & {
    withFileTypes: true;
    recursive?: boolean | undefined;
  }): Promise<import("fs").Dirent[]>;
  readlink(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  readlink(path: import("fs").PathLike, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  readlink(path: import("fs").PathLike, options?: string | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  readlink(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  readlink(path: import("fs").PathLike, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  readlink(path: import("fs").PathLike, options?: string | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  symlink(target: import("fs").PathLike, path: import("fs").PathLike, type?: string | null | undefined): Promise<void>;
  symlink(target: import("fs").PathLike, path: import("fs").PathLike, type?: string | null | undefined): Promise<void>;
  lstat(path: import("fs").PathLike, opts?: (import("fs").StatOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").Stats>;
  lstat(path: import("fs").PathLike, opts: import("fs").StatOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStats>;
  lstat(path: import("fs").PathLike, opts?: import("fs").StatOptions | undefined): Promise<import("fs").Stats | import("fs").BigIntStats>;
  lstat(path: import("fs").PathLike, opts?: (import("fs").StatOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").Stats>;
  lstat(path: import("fs").PathLike, opts: import("fs").StatOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStats>;
  lstat(path: import("fs").PathLike, opts?: import("fs").StatOptions | undefined): Promise<import("fs").Stats | import("fs").BigIntStats>;
  stat(path: import("fs").PathLike, opts?: (import("fs").StatOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").Stats>;
  stat(path: import("fs").PathLike, opts: import("fs").StatOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStats>;
  stat(path: import("fs").PathLike, opts?: import("fs").StatOptions | undefined): Promise<import("fs").Stats | import("fs").BigIntStats>;
  stat(path: import("fs").PathLike, opts?: (import("fs").StatOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").Stats>;
  stat(path: import("fs").PathLike, opts: import("fs").StatOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStats>;
  stat(path: import("fs").PathLike, opts?: import("fs").StatOptions | undefined): Promise<import("fs").Stats | import("fs").BigIntStats>;
  statfs(path: import("fs").PathLike, opts?: (import("fs").StatFsOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").StatsFs>;
  statfs(path: import("fs").PathLike, opts: import("fs").StatFsOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStatsFs>;
  statfs(path: import("fs").PathLike, opts?: import("fs").StatFsOptions | undefined): Promise<import("fs").StatsFs | import("fs").BigIntStatsFs>;
  statfs(path: import("fs").PathLike, opts?: (import("fs").StatFsOptions & {
    bigint?: false | undefined;
  }) | undefined): Promise<import("fs").StatsFs>;
  statfs(path: import("fs").PathLike, opts: import("fs").StatFsOptions & {
    bigint: true;
  }): Promise<import("fs").BigIntStatsFs>;
  statfs(path: import("fs").PathLike, opts?: import("fs").StatFsOptions | undefined): Promise<import("fs").StatsFs | import("fs").BigIntStatsFs>;
  link(existingPath: import("fs").PathLike, newPath: import("fs").PathLike): Promise<void>;
  link(existingPath: import("fs").PathLike, newPath: import("fs").PathLike): Promise<void>;
  unlink(path: import("fs").PathLike): Promise<void>;
  unlink(path: import("fs").PathLike): Promise<void>;
  chmod(path: import("fs").PathLike, mode: import("fs").Mode): Promise<void>;
  chmod(path: import("fs").PathLike, mode: import("fs").Mode): Promise<void>;
  lchmod(path: import("fs").PathLike, mode: import("fs").Mode): Promise<void>;
  lchmod(path: import("fs").PathLike, mode: import("fs").Mode): Promise<void>;
  lchown(path: import("fs").PathLike, uid: number, gid: number): Promise<void>;
  lchown(path: import("fs").PathLike, uid: number, gid: number): Promise<void>;
  lutimes(path: import("fs").PathLike, atime: import("fs").TimeLike, mtime: import("fs").TimeLike): Promise<void>;
  lutimes(path: import("fs").PathLike, atime: import("fs").TimeLike, mtime: import("fs").TimeLike): Promise<void>;
  chown(path: import("fs").PathLike, uid: number, gid: number): Promise<void>;
  chown(path: import("fs").PathLike, uid: number, gid: number): Promise<void>;
  utimes(path: import("fs").PathLike, atime: import("fs").TimeLike, mtime: import("fs").TimeLike): Promise<void>;
  utimes(path: import("fs").PathLike, atime: import("fs").TimeLike, mtime: import("fs").TimeLike): Promise<void>;
  realpath(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  realpath(path: import("fs").PathLike, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  realpath(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  realpath(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  realpath(path: import("fs").PathLike, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  realpath(path: import("fs").PathLike, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  mkdtemp(prefix: string, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  mkdtemp(prefix: string, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  mkdtemp(prefix: string, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  mkdtemp(prefix: string, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string>;
  mkdtemp(prefix: string, options: import("fs").BufferEncodingOption): Promise<Buffer>;
  mkdtemp(prefix: string, options?: BufferEncoding | import("fs").ObjectEncodingOptions | null | undefined): Promise<string | Buffer>;
  writeFile(file: import("fs").PathLike | fs.FileHandle, data: string | NodeJS.ArrayBufferView | import("stream").Stream | Iterable<string | NodeJS.ArrayBufferView> | AsyncIterable<string | NodeJS.ArrayBufferView>, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    mode?: import("fs").Mode | undefined;
    flag?: import("fs").OpenMode | undefined;
    flush?: boolean | undefined;
  } & import("events").Abortable) | null | undefined): Promise<void>;
  writeFile(file: import("fs").PathLike | fs.FileHandle, data: string | NodeJS.ArrayBufferView | import("stream").Stream | Iterable<string | NodeJS.ArrayBufferView> | AsyncIterable<string | NodeJS.ArrayBufferView>, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & {
    mode?: import("fs").Mode | undefined;
    flag?: import("fs").OpenMode | undefined;
  } & import("events").Abortable) | null | undefined): Promise<void>;
  appendFile(path: import("fs").PathLike | fs.FileHandle, data: string | Uint8Array, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & fs.FlagAndOpenMode & {
    flush?: boolean | undefined;
  }) | null | undefined): Promise<void>;
  appendFile(path: import("fs").PathLike | fs.FileHandle, data: string | Uint8Array, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & fs.FlagAndOpenMode) | null | undefined): Promise<void>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options?: ({
    encoding?: null | undefined;
    flag?: import("fs").OpenMode | undefined;
  } & import("events").Abortable) | null | undefined): Promise<Buffer>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options: BufferEncoding | ({
    encoding: BufferEncoding;
    flag?: import("fs").OpenMode | undefined;
  } & import("events").Abortable)): Promise<string>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & import("events").Abortable & {
    flag?: import("fs").OpenMode | undefined;
  }) | null | undefined): Promise<string | Buffer>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options?: ({
    encoding?: null | undefined;
    flag?: import("fs").OpenMode | undefined;
  } & import("events").Abortable) | null | undefined): Promise<Buffer>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options: ({
    encoding: BufferEncoding;
    flag?: import("fs").OpenMode | undefined;
  } & import("events").Abortable) | BufferEncoding): Promise<string>;
  readFile(path: import("fs").PathLike | fs.FileHandle, options?: BufferEncoding | (import("fs").ObjectEncodingOptions & import("events").Abortable & {
    flag?: import("fs").OpenMode | undefined;
  }) | null | undefined): Promise<string | Buffer>;
  opendir(path: import("fs").PathLike, options?: import("fs").OpenDirOptions | undefined): Promise<import("fs").Dir>;
  opendir(path: import("fs").PathLike, options?: import("fs").OpenDirOptions | undefined): Promise<import("fs").Dir>;
  watch(filename: import("fs").PathLike, options: "buffer" | (import("fs").WatchOptions & {
    encoding: "buffer";
  })): AsyncIterable<fs.FileChangeInfo<Buffer>>;
  watch(filename: import("fs").PathLike, options?: BufferEncoding | import("fs").WatchOptions | undefined): AsyncIterable<fs.FileChangeInfo<string>>;
  watch(filename: import("fs").PathLike, options: string | import("fs").WatchOptions): AsyncIterable<fs.FileChangeInfo<Buffer>> | AsyncIterable<fs.FileChangeInfo<string>>;
  watch(filename: import("fs").PathLike, options: "buffer" | (import("fs").WatchOptions & {
    encoding: "buffer";
  })): AsyncIterable<fs.FileChangeInfo<Buffer>>;
  watch(filename: import("fs").PathLike, options?: BufferEncoding | import("fs").WatchOptions | undefined): AsyncIterable<fs.FileChangeInfo<string>>;
  watch(filename: import("fs").PathLike, options: string | import("fs").WatchOptions): AsyncIterable<fs.FileChangeInfo<Buffer>> | AsyncIterable<fs.FileChangeInfo<string>>;
  cp(source: string | URL, destination: string | URL, opts?: import("fs").CopyOptions | undefined): Promise<void>;
  cp(source: string | URL, destination: string | URL, opts?: import("fs").CopyOptions | undefined): Promise<void>;
  glob(pattern: string | string[]): AsyncIterableIterator<string>;
  glob(pattern: string | string[], opt: import("fs").GlobOptionsWithFileTypes): AsyncIterableIterator<import("fs").Dirent>;
  glob(pattern: string | string[], opt: import("fs").GlobOptionsWithoutFileTypes): AsyncIterableIterator<string>;
  glob(pattern: string | string[], opt: import("fs").GlobOptions): AsyncIterableIterator<string> | AsyncIterableIterator<import("fs").Dirent>;
  constants: typeof import("fs").constants;
};