import { FilterPattern } from "unplugin";

//#region src/core/options.d.ts
type DepKind = "dependencies" | "devDependencies" | "peerDependencies";
interface Options {
  root?: string;
  include?: FilterPattern;
  exclude?: FilterPattern;
  ignore?: string[] | Partial<Record<DepKind, string[]>>;
  /**
  * Specifies the severity level of the check.
  *
  * - `'error'`: Causes the build to fail.
  * - `'warning'`: Displays a warning in the console.
  *
  * @default 'warning'
  */
  level?: "warning" | "error";
  /**
  * @default ['dependencies', 'peerDependencies']
  */
  depKinds?: Array<DepKind>;
}
type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
type OptionsResolved = Overwrite<Required<Options>, Pick<Options, "root">>;
declare function resolveOptions(options: Options): OptionsResolved;
//#endregion
export { Options as n, resolveOptions as r, DepKind as t };