import { PackageManager } from "nypm";
import { ESLint } from "eslint";

//#region src/core/types.d.ts
interface OxlintOptions {
  rootDir: string;
  glob: boolean;
  includes: string | string[];
  excludes: RegExp[];
  deny: string[];
  allow: string[];
  fix: boolean;
  config: string;
  params: string;
  noIgnore: boolean;
  quiet: boolean;
  denyWarnings: boolean;
  watch: boolean;
  packageManager?: PackageManagerName | undefined;
}
type PackageManagerName = PackageManager['name'];
interface LintResult {
  filename: string;
  severity: 'off' | 'warning' | 'error';
  message: string;
  linter: 'oxlint' | 'eslint';
  ruleId: string;
  line: number;
  column: number;
}
//#endregion
export { OxlintOptions as n, LintResult as t };