/**
 * Параметри для getConfig — список директорій для застосування правил.
 */
export interface GetConfigParams {
  /**
   * Шляхи до Node.js коду — правила та node globals для `.js`, `.mjs`, `.cjs` у кожній директорії
   * (у т.ч. окремий пресет для `.cjs` через eslint-plugin-n mixed ESM/CJS).
   */
  node?: string[]
  /** Шляхи до Vue 3 */
  vue?: string[]
  /** Шляхи до Vue 2 */
  vue2?: string[]
}

/**
 * Один елемент flat config ESLint (те саме, що `Linter.Config`; колишня назва типу `FlatConfig` у ESLint застаріла).
 * У проєктах з встановленим eslint типи будуть зв’язані автоматично.
 */
export type FlatConfig = import('eslint').Linter.Config

/**
 * ESLint flat config для проєктів на Vue та Node.
 * @param params — список директорій для застосування правил
 * @returns масив конфігурацій ESLint (flat config)
 */
export function getConfig(params?: GetConfigParams): import('eslint').Linter.Config[]
