/** * @fileoverview Types for this package. */ import type { Linter } from "eslint"; /** * Infinite array type. */ export type InfiniteArray = T | InfiniteArray[]; /** * The type of array element in the `extends` property after flattening. */ export type SimpleExtendsElement = string | Linter.Config; /** * The type of array element in the `extends` property before flattening. */ export type ExtendsElement = | SimpleExtendsElement | InfiniteArray; /** * Config with extends. Valid only inside of `defineConfig()`. */ export interface ConfigWithExtends extends Linter.Config { extends?: ExtendsElement[]; } export type ConfigWithExtendsArray = InfiniteArray[];