/** * @module @nhtio/adk/eslint * * The `@nhtio/adk` ESLint plugin: machine-checkable enforcement of the harness contracts that * implementors of bring-your-own batteries, tools, and primitives are most likely to get wrong. * * @remarks * These rules turn documented footguns into lint errors. They are report-only (no autofix) — each * names the contract it enforces and the fix; carve out a deliberate exception with an inline * `// eslint-disable-next-line adk/ -- ` comment. * * `@typescript-eslint/utils` and `eslint` are OPTIONAL peer dependencies of `@nhtio/adk` — installed * only by consumers who lint with this plugin. The main library never imports this module. * * @example Flat config * ```ts * import adk from '@nhtio/adk/eslint' * * export default [ * { plugins: { adk: adk.plugin }, rules: adk.configs.recommended.rules }, * ] * ``` */ import type { FlatConfig } from '@typescript-eslint/utils/ts-eslint'; /** * Map of rule id (without the `adk/` plugin prefix) to its rule object. Registered on the plugin as * `rules`, so configs reference them as `adk/`. */ export declare const rules: { 'require-validator-any-required': import("@typescript-eslint/utils/ts-eslint").RuleModule<"declareIntent", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'require-string-empty-disposition': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireEmptyDisposition", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'no-model-in-tool-handler': import("@typescript-eslint/utils/ts-eslint").RuleModule<"noModelInHandler", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'thought-payload-requires-replay-tag': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireReplayTag", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'token-encoding-requires-context-window': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireContextWindow", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'artifact-tool-forbids-artifact-constructor': import("@typescript-eslint/utils/ts-eslint").RuleModule<"forbidArtifactConstructor", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; }; /** * The ESLint plugin object. Register under the `adk` namespace: `plugins: { adk: plugin }`. */ export declare const plugin: FlatConfig.Plugin; /** * Named config presets. `recommended` enables every rule at `error` and registers the plugin under * the `adk` namespace — spread it into a flat config to adopt the full set. */ export declare const configs: { recommended: { name: string; plugins: { adk: FlatConfig.Plugin; }; rules: Partial>; }; }; /** * Default export bundles the plugin and its config presets, mirroring the shape ESLint flat configs * expect from a plugin module. */ declare const _default: { plugin: FlatConfig.Plugin; rules: { 'require-validator-any-required': import("@typescript-eslint/utils/ts-eslint").RuleModule<"declareIntent", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'require-string-empty-disposition': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireEmptyDisposition", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'no-model-in-tool-handler': import("@typescript-eslint/utils/ts-eslint").RuleModule<"noModelInHandler", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'thought-payload-requires-replay-tag': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireReplayTag", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'token-encoding-requires-context-window': import("@typescript-eslint/utils/ts-eslint").RuleModule<"requireContextWindow", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; 'artifact-tool-forbids-artifact-constructor': import("@typescript-eslint/utils/ts-eslint").RuleModule<"forbidArtifactConstructor", [ ], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & { name: string; }; }; configs: { recommended: { name: string; plugins: { adk: FlatConfig.Plugin; }; rules: Partial>; }; }; }; export default _default;