diff --git a/packages/typescript-eslint/src/config-helper.ts b/packages/typescript-eslint/src/config-helper.ts index 4fc3ee070c76..878dc8bca83e 100644 --- a/packages/typescript-eslint/src/config-helper.ts +++ b/packages/typescript-eslint/src/config-helper.ts @@ -66,6 +66,9 @@ export interface ConfigWithExtends extends TSESLint.FlatConfig.Config { extends?: InfiniteDepthConfigWithExtends[]; } +// exported so that users that make configs with tsconfig `declaration: true` can name the type +export type ConfigArray = TSESLint.FlatConfig.ConfigArray; + /** * Utility function to make it easy to strictly type your "Flat" config file * @example @@ -88,7 +91,7 @@ export interface ConfigWithExtends extends TSESLint.FlatConfig.Config { */ export function config( ...configs: InfiniteDepthConfigWithExtends[] -): TSESLint.FlatConfig.ConfigArray { +): ConfigArray { const flattened = // @ts-expect-error -- intentionally an infinite type configs.flat(Infinity) as ConfigWithExtends[]; diff --git a/packages/typescript-eslint/src/index.ts b/packages/typescript-eslint/src/index.ts index 470cb1055491..b96efd35d1e7 100644 --- a/packages/typescript-eslint/src/index.ts +++ b/packages/typescript-eslint/src/index.ts @@ -186,4 +186,9 @@ export default { }; export { configs, parser, plugin }; -export { config, type ConfigWithExtends } from './config-helper'; +export { + config, + type ConfigWithExtends, + type InfiniteDepthConfigWithExtends, + type ConfigArray, +} from './config-helper';