import ts__default from 'typescript'; import { ReportDescriptor } from '@typescript-eslint/utils/ts-eslint'; import { MessageIds, ExpectRuleContext, VersionToTestOption } from '../meta.js'; import { TSModule } from './programs.js'; import '@typescript-eslint/utils'; interface ResolvedVersionToTest { program: ts__default.Program; sourceFile: ts__default.SourceFile; tsModule: TSModule; version?: string; } type VersionsResolution = VersionsResolutionFailure | VersionsResolutionSuccess; interface VersionsResolutionFailure { error: Pick, "data" | "messageId">; } interface VersionsResolutionSuccess { error?: never; versionsToTest: ResolvedVersionToTest[]; } declare function resolveVersionsToTest(context: ExpectRuleContext, fileName: string, versionsToTest: undefined | VersionToTestOption[]): VersionsResolution; export { type ResolvedVersionToTest, type VersionsResolution, type VersionsResolutionFailure, type VersionsResolutionSuccess, resolveVersionsToTest };