/* tslint:disable */
/* eslint-disable */

/* auto-generated by NAPI-RS */

/**
 * Expands the given entries into a list of existing files.
 * First checks if the entry exists, if not, it will glob the working directory to find the file.
 */
export function expandOutputs(directory: string, entries: Array<string>): Array<string>
export function remove(src: string): void
export function copy(src: string, dest: string): void
export function hashArray(input: Array<string>): string
export function hashFile(file: string): FileData | null
export function hashFiles(workspaceRoot: string): Record<string, string>
export function hashFilesMatchingGlobs(directory: string, globPatterns: Array<string>): string | null
export interface FileData {
  file: string
  hash: string
}
/**
 * Newly created files will have the `update` EventType as well.
 * This simplifies logic between OS's, IDEs and git operations
 */
export const enum EventType {
  delete = 'delete',
  update = 'update',
  create = 'create'
}
export interface WatchEvent {
  path: string
  type: EventType
}
/** Public NAPI error codes that are for Node */
export const enum WorkspaceErrors {
  ParseError = 'ParseError',
  Generic = 'Generic'
}
/** Get workspace config files based on provided globs */
export function getProjectConfigurations(workspaceRoot: string, globs: Array<string>, parseConfigurations: (arg0: Array<string>) => Record<string, object>): Record<string, object>
export interface NxWorkspaceFiles {
  projectFileMap: Record<string, Array<FileData>>
  globalFiles: Array<FileData>
  projectConfigurations: Record<string, object>
}
export function getWorkspaceFilesNative(workspaceRoot: string, globs: Array<string>, parseConfigurations: (arg0: Array<string>) => Record<string, object>): NxWorkspaceFiles
export class Watcher {
  origin: string
  /**
   * Creates a new Watcher instance.
   * If `useIgnore` is set to false, no ignores will be used, even when `additionalGlobs` is set
   */
  constructor(origin: string, additionalGlobs?: Array<string> | undefined | null, useIgnore?: boolean | undefined | null)
  watch(callback: (err: string | null, events: WatchEvent[]) => void): void
  stop(): Promise<void>
}
