/** * ESLint plugin providing authoring-time feedback for API Extractor. * * @example * Using with flat config (eslint.config.js): * ```js * import apiExtractorPlugin from '@api-extractor-tools/eslint-plugin'; * * export default [ * apiExtractorPlugin.configs.recommended, * ]; * ``` * * @example * Using with legacy config (.eslintrc.js): * ```js * module.exports = { * plugins: ['@api-extractor-tools'], * extends: ['plugin:@api-extractor-tools/recommended-legacy'], * }; * ``` * * @packageDocumentation */ import type { TSESLint } from '@typescript-eslint/utils'; import { rules } from './rules'; import { recommendedRules } from './configs'; export type { ApiExtractorConfig, ApiExtractorLogLevel, ApiExtractorMessagesConfig, MessageConfig, ReleaseTag, MissingReleaseTagRuleOptions, OverrideKeywordRuleOptions, PackageDocumentationRuleOptions, ResolvedEntryPoints, ValidEnumTypeRuleOptions, } from './types'; export type { ForgottenExportRuleOptions } from './rules/forgotten-export'; export type { IncompatibleReleaseTagsRuleOptions } from './rules/incompatible-release-tags'; export type { ExtraReleaseTagRuleOptions } from './rules/extra-release-tag'; export type { PublicOnPrivateMemberRuleOptions } from './rules/public-on-private-member'; export type { PublicOnNonExportedRuleOptions } from './rules/public-on-non-exported'; export { RELEASE_TAGS } from './types'; export { parseTSDocComment, extractReleaseTag, hasOverrideTag, hasPackageDocumentation, getLeadingTSDocComment, findAllTSDocComments, extractEnumType, type EnumTypeValue, type EnumTypeExtraction, } from './utils/tsdoc-parser'; /** * Plugin configuration type. * @internal */ interface PluginConfigs { recommended: TSESLint.FlatConfig.Config; 'recommended-legacy': { plugins: string[]; rules: TSESLint.Linter.RulesRecord; }; } /** * The ESLint plugin type. * @alpha */ export interface ApiExtractorEslintPlugin { meta: { name: string; version: string; }; rules: typeof rules; configs: PluginConfigs; } /** * The ESLint plugin object. * @alpha */ declare const plugin: ApiExtractorEslintPlugin; export default plugin; export { rules }; export { recommendedRules }; //# sourceMappingURL=index.d.ts.map