/** * @packageDocumentation * Public plugin entrypoint for eslint-plugin-runtime-cleanup exports and preset wiring. */ import type { ESLint, Linter } from "eslint"; import type { Except } from "type-fest"; import { runtimeCleanupRules } from "./_internal/rules-registry.js"; import { type RuntimeCleanupConfigName as InternalRuntimeCleanupConfigName } from "./_internal/runtime-cleanup-config-references.js"; /** * Canonical flat-config preset keys exposed through `plugin.configs`. * * @remarks * These names are used by consumers when composing presets in ESLint flat * config arrays. */ export type RuntimeCleanupConfigName = InternalRuntimeCleanupConfigName; /** * Flat-config preset shape produced by this plugin. * * @remarks * The `rules` map is required so preset composition can always merge concrete * rule severity entries without additional null checks. */ export type RuntimeCleanupPresetConfig = Linter.Config & { rules: NonNullable; }; /** Contract for the `configs` object exported by this plugin. */ type RuntimeCleanupConfigsContract = Record; /** Fully assembled plugin contract used by the runtime default export. */ type RuntimeCleanupPluginContract = Except & { configs: RuntimeCleanupConfigsContract; meta: { name: string; namespace: string; version: string; }; processors: NonNullable; rules: NonNullable; }; /** * Fully-qualified ESLint rule id used by this plugin. * * @remarks * Consumers typically use this when building strongly typed rule maps or helper * utilities that require namespaced rule identifiers. */ export type RuntimeCleanupRuleId = `runtime-cleanup/${RuntimeCleanupRuleName}`; /** Unqualified rule name supported by `eslint-plugin-runtime-cleanup`. */ export type RuntimeCleanupRuleName = keyof typeof runtimeCleanupRules; /** Finalized typed view of all exported preset configurations. */ declare const runtimeCleanupConfigs: RuntimeCleanupConfigsContract; /** * Runtime type for the plugin's generated config presets. * * @remarks * Mirrors `plugin.configs` and is useful when composing typed preset-aware * tooling in external integrations. */ export type RuntimeCleanupConfigs = typeof runtimeCleanupConfigs; /** * Main plugin object exported for ESLint consumption. */ declare const runtimeCleanupPlugin: RuntimeCleanupPluginContract; /** * Runtime type for the plugin object exported as default. * * @remarks * Includes resolved `meta`, `rules`, and `configs` contracts after plugin * assembly. */ export type RuntimeCleanupPlugin = typeof runtimeCleanupPlugin; /** * Default plugin export consumed by ESLint flat config. */ export default runtimeCleanupPlugin; //# sourceMappingURL=plugin.d.ts.map