import { ESLintUtils } from '@typescript-eslint/utils'; /** @fileoverview _retired — burned rule names and their migration action. */ /** Why a name was withdrawn, and in which release. */ interface RetiredRule { /** The plugin version whose release removed the rule. */ readonly removedIn: string; /** One line a consumer can act on: why it went, and what (if anything) replaced it. */ readonly reason: string; } declare const RETIRED_RULES: Readonly>; /** * @fileoverview _docs — typed source-owned rule documentation and executable examples. * */ type RuleCategory = "architecture" | "correctness" | "maintainability" | "performance" | "security" | "style" | "testing"; type AutofixPolicy = "none" | "safe" | "suggestion"; type ExampleOutcome = "match" | "no-match"; interface ExampleFile { readonly path: string; readonly source: string; } /** A reviewed example. It remains private unless `public: true` is explicit. */ interface RuleExample { readonly id: string; readonly scenarioId?: string; readonly title: string; readonly outcome: ExampleOutcome; readonly files: readonly ExampleFile[]; readonly focusPath: string; readonly expectedCount: number; readonly public?: boolean; readonly fixedFiles?: readonly ExampleFile[]; } /** Human-authored fields that cannot be derived from the ESLint rule module. */ interface RuleDocumentation { readonly summary: string; readonly rationale: string; readonly remediation: string; readonly category: RuleCategory; readonly languages?: readonly "typescript"[]; readonly autofix?: AutofixPolicy; readonly aliases?: readonly string[]; readonly limitations?: readonly string[]; readonly filePatterns?: readonly string[]; readonly references?: readonly string[]; readonly since?: string; readonly examples?: readonly RuleExample[]; } /** Complete native record exposed to catalog generation without changing ESLint metadata. */ interface NativeRuleSpec extends Required> { readonly engine: "eslint"; readonly ruleId: string; readonly code: null; readonly messageIds: readonly string[]; readonly optionsSchema: object | null; readonly since: string | null; readonly key: string; readonly publicExamples: readonly RuleExample[]; } /** The explicit allowlist projection consumed by generated public documentation. */ interface PublicRuleSpec { readonly engine: "eslint"; readonly ruleId: string; readonly code: null; readonly summary: string; readonly rationale: string; readonly remediation: string; readonly category: RuleCategory; readonly languages: readonly "typescript"[]; readonly autofix: AutofixPolicy; readonly aliases: readonly string[]; readonly limitations: readonly string[]; readonly filePatterns: readonly string[]; readonly references: readonly string[]; readonly since: string | null; readonly messageIds: readonly string[]; readonly optionsSchema: object | null; readonly examples: readonly RuleExample[]; } declare const eslintCreateRule: ({ meta, name, ...rule }: Readonly>) => ESLintUtils.RuleModule & { name: string; }; type DocumentedRule = ReturnType> & { /** Non-enumerable so the public ESLint rule shape remains unchanged. */ readonly documentation?: NativeRuleSpec; }; /** Serialize only reviewed fields; test-only examples never cross this boundary. */ declare function publicDocumentation(rules: Readonly>): readonly PublicRuleSpec[]; interface RuleOptions$5 { readonly basePath?: string; } /** * @fileoverview prefer-shadcn-primitives — visible application UI should use shared shadcn primitives. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/prefer-shadcn-primitives.test.ts */ interface RuleOptions$4 { readonly assumeAvailable?: boolean; readonly detectProjectPrimitives?: boolean; } /** * @fileoverview _comment-wall — the shared judgement behind the comment-VOLUME rules: a run of member comments that mostly re-spell their members is a wall. * */ /** Every threshold the wall rules apply; each is documented at `WALL_DEFAULTS`. */ interface WallOptions { readonly minCommentedMembers: number; readonly minCommentedRatio: number; readonly minRestatedRatio: number; readonly maxNovelWords: number; } /** * @fileoverview no-storage-in-stateless-modules — private storage inside a module a team declared stateless diverges from the system of record, silently. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/no-storage-in-stateless-modules.test.ts */ interface RuleOptions$3 { readonly modules?: readonly string[]; readonly methods?: readonly string[]; } /** * @fileoverview no-restricted-library-load — literal runtime module loads must obey the same library policy as static imports. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/no-restricted-library-load.test.ts */ interface RestrictedLibrary { readonly id: string; readonly module: string; readonly replacement: string; readonly note?: string; } /** * @fileoverview no-raw-fetch-outside-clients — a bare `fetch` outside the client layer opts out of retry, timeout and status handling, and cannot be stubbed. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/no-raw-fetch-outside-clients.test.ts */ interface RuleOptions$2 { /** Regular-expression sources matched against the filename. */ readonly allow?: readonly string[]; /** Next.js basePath also configured for prefer-server-actions. */ readonly basePath?: string; } /** * @fileoverview _logging — shared recognition of logging / error-reporting calls, so the catch rules and the secret rule cannot disagree. */ /** Shared `loggerNames` / `logFunctions` option shape. */ interface LoggingOptions { readonly loggerNames?: readonly string[]; readonly logFunctions?: readonly string[]; } /** * @fileoverview no-fat-try-blocks — review broad recovery scopes using a bounded operation-count heuristic. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/no-fat-try-blocks.test.ts */ interface RuleOptions$1 { readonly max?: number; } /** * @fileoverview no-dynamic-sql — bind runtime values separately from SQL string literals. * * Examples: https://github.com/sarj-ai/code-standards/blob/main/packages/typescript/tests/rules/no-dynamic-sql.test.ts */ interface RuleOptions { readonly methods?: readonly string[]; } /** * @fileoverview _jsx-accessibility — scope-aware JSX names and accessible content are shared across rules. */ interface ComponentImport { readonly module: string; readonly export: string; } interface LocalizationOptions { readonly enabled?: boolean; readonly allowText?: readonly string[]; readonly translationComponents?: readonly ComponentImport[]; } /** * @fileoverview _renames — every rule this plugin has renamed, old name to new; the old names no longer resolve, so this map is what says what to write instead. * * `code-standards maintain sync-ledger` turns each entry into the consumer-facing ledger row. * */ declare const RENAMED_RULES: { readonly "jsdoc-restates-signature": "no-restated-jsdoc"; readonly "zod-naming-convention": "require-pascal-case-zod-schema-name"; readonly "require-interface-for-injected-service": "require-port-for-service"; readonly "strict-test-assertions": "prefer-whole-object-assertion"; readonly "trailing-value-narration": "no-trailing-value-narration"; }; declare const RULES: { readonly "no-conditional-empty-object-spread": DocumentedRule<[], "avoid">; readonly "prefer-typed-reflection": DocumentedRule<[], "avoid">; readonly "no-broad-return-type": DocumentedRule<[], "avoid">; readonly "no-reduce-accumulator-copy": DocumentedRule<[], "copy">; readonly "no-known-value-widening": DocumentedRule<[], "widening">; readonly "require-button-accessible-name": DocumentedRule; readonly "require-svg-accessible-name": DocumentedRule; readonly "prefer-logical-tailwind-utilities": DocumentedRule; readonly "no-unlocalized-toast": DocumentedRule; readonly "no-unlocalized-jsx-attributes": DocumentedRule; readonly "no-unlocalized-jsx-text": DocumentedRule; readonly "excessive-commentary": DocumentedRule; readonly "iac-source-coupled-test": DocumentedRule; readonly "duplicate-test-body": DocumentedRule; readonly "enforce-file-structure": DocumentedRule; readonly "no-client-side-data-fetching": DocumentedRule; readonly "no-comment-cruft": DocumentedRule; readonly "no-cors-wildcard-with-credentials": DocumentedRule; readonly "no-duplicate-lifecycle-refresh-listeners": DocumentedRule; readonly "no-dangerously-allow-svg": DocumentedRule; readonly "no-dynamic-sql": DocumentedRule; readonly "no-enum": DocumentedRule; readonly "no-excessive-cognitive-complexity": DocumentedRule<[], "excessiveComplexity">; readonly "no-fat-try-blocks": DocumentedRule; readonly "no-hand-rolled-sleep": DocumentedRule; readonly "no-hand-rolled-spinner": DocumentedRule; readonly "no-insecure-random-id": DocumentedRule; readonly "no-detached-global-fetch": DocumentedRule; readonly "no-json-stringify-error": DocumentedRule; readonly "no-json-stringify-object-equality": DocumentedRule; readonly "no-impossible-zod-literal-bounds": DocumentedRule; readonly "no-in-operator-on-built-in-collections": DocumentedRule; readonly "no-redundant-optional-array-default": DocumentedRule; readonly "interface-contract-members-private": DocumentedRule; readonly "no-log-only-catch": DocumentedRule; readonly "no-bare-return-from-test-catch": DocumentedRule; readonly "no-bespoke-api-case-conversion": DocumentedRule; readonly "no-long-comment": DocumentedRule; readonly "no-vague-suppression-description": DocumentedRule; readonly "no-generic-single-export-module": DocumentedRule<[], "genericSingleExport">; readonly "no-offset-pagination": DocumentedRule; readonly "no-positional-tuple-return": DocumentedRule; readonly "no-production-browser-source-maps": DocumentedRule; readonly "no-raw-env": DocumentedRule; readonly "no-raw-fetch-outside-clients": DocumentedRule; readonly "no-restricted-library-load": DocumentedRule; readonly "no-router-refresh-polling": DocumentedRule; readonly "no-repeated-string-literal": DocumentedRule; readonly "no-restated-comment": DocumentedRule; readonly "no-restated-jsdoc": DocumentedRule; readonly "no-secret-in-log": DocumentedRule; readonly "no-server-env-in-client-component": DocumentedRule; readonly "no-select-star": DocumentedRule; readonly "no-sentinel-return-on-catch": DocumentedRule; readonly "no-silent-promise-catch": DocumentedRule; readonly "no-sleep-in-test-body": DocumentedRule; readonly "no-storage-in-stateless-modules": DocumentedRule; readonly "no-string-concat-in-loop": DocumentedRule; readonly "no-tautological-expect": DocumentedRule; readonly "no-typed-doc-sections": DocumentedRule; readonly "no-trailing-value-narration": DocumentedRule; readonly "no-declaration-comment-wall": DocumentedRule?], "commentWall">; readonly "no-union-in-comment": DocumentedRule; readonly "no-type-member-comment-wall": DocumentedRule?], "commentWall">; readonly "no-unnecessary-use-client": DocumentedRule; readonly "no-unsafe-mock-casting": DocumentedRule<[], "unsafeMockCast">; readonly "no-unsafe-test-double-cast": DocumentedRule<[], "noUnsafeTestDoubleCast">; readonly "no-first-party-module-mock": DocumentedRule; readonly "no-zod-native-enum": DocumentedRule; readonly "require-use-form-default-values": DocumentedRule; readonly "require-use-server-in-actions-file": DocumentedRule; readonly "test-loops-over-literal-cases": DocumentedRule; readonly "test-phase-label-comment": DocumentedRule; readonly "prefer-constant-time-secret-compare": DocumentedRule; readonly "prefer-ecmascript-private-members": DocumentedRule; readonly "prefer-discriminated-union": DocumentedRule; readonly "prefer-input-group-search": DocumentedRule; readonly "prefer-millisecond-control-duration-schema": DocumentedRule; readonly "prefer-immutable-module-constant": DocumentedRule; readonly "prefer-shadcn-primitives": DocumentedRule; readonly "prefer-module-level-constant": DocumentedRule; readonly "prefer-module-level-schema": DocumentedRule; readonly "prefer-module-level-refined-schema": DocumentedRule<[], "hoistRefinedSchema">; readonly "prefer-multi-value-zod-literal": DocumentedRule; readonly "prefer-named-callback-domain": DocumentedRule<[], "nameCallbackDomain">; readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">; readonly "prefer-native-random-uuid": DocumentedRule; readonly "prefer-node-crypto-hash": DocumentedRule; readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">; readonly "prefer-non-nullable-collection": DocumentedRule; readonly "prefer-nullish-filter-predicate": DocumentedRule; readonly "prefer-await-in-async-return": DocumentedRule; readonly "prefer-schema-for-api-payload": DocumentedRule; readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">; readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">; readonly "prefer-semantic-colors": DocumentedRule; readonly "prefer-server-actions": DocumentedRule; readonly "prefer-whole-object-assertion": DocumentedRule; readonly "repeated-static-call-cases": DocumentedRule; readonly "prefer-zod-infer": DocumentedRule; readonly "prefer-zod-parse-output-type": DocumentedRule; readonly "require-assert-never": DocumentedRule; readonly "require-fetch-timeout": DocumentedRule; readonly "require-interface-for-exported-class": DocumentedRule<[], "requireContract">; readonly "require-port-for-service": DocumentedRule; readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">; readonly "require-static-next-matcher": DocumentedRule; readonly "require-zod-form-validation": DocumentedRule; readonly "store-insert-requires-on-conflict": DocumentedRule; readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">; readonly "source-coupled-test": DocumentedRule; readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">; readonly "require-pascal-case-zod-schema-name": DocumentedRule; }; /** @deprecated All repositories use one policy; retained for import compatibility. */ declare const APPLICATION_ONLY_RULES: readonly []; /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */ declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-json-stringify-object-equality", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-multi-value-zod-literal", "@sarj/prefer-named-complex-return-type", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-switch-for-repeated-equality", "@sarj/prefer-whole-object-assertion", "@sarj/require-interface-for-exported-class", "@sarj/require-sql-access-class", "@sarj/sole-export-matches-filename"]; declare const RECOMMENDED_RULES: { readonly "@sarj/no-conditional-empty-object-spread": "error"; readonly "@sarj/prefer-typed-reflection": "error"; readonly "@sarj/no-broad-return-type": "error"; readonly "@sarj/no-reduce-accumulator-copy": "error"; readonly "@sarj/no-known-value-widening": "error"; readonly "@sarj/require-button-accessible-name": "error"; readonly "@sarj/require-svg-accessible-name": "error"; readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-toast": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-jsx-attributes": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-jsx-text": readonly ["error", { readonly enabled: false; }]; readonly "no-restricted-imports": readonly ["error", { readonly paths: { name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint"; message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint."; }[]; readonly patterns: { group: string[]; message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint."; }[]; }]; readonly "@sarj/no-restricted-library-load": readonly ["error", { readonly libraries: readonly [{ readonly id: "LIB101"; readonly module: "request"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "node-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "cross-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "isomorphic-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "axios"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB102"; readonly module: "moment"; readonly note: "Standards standardizes date utilities on date-fns; migration is not API-compatible."; readonly replacement: "date-fns"; }, { readonly id: "LIB102"; readonly module: "dayjs"; readonly note: "Standards standardizes date utilities on date-fns; migration is not API-compatible."; readonly replacement: "date-fns"; }, { readonly id: "LIB103"; readonly module: "lodash"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB103"; readonly module: "lodash-es"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB103"; readonly module: "underscore"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB104"; readonly module: "classnames"; readonly note: "Use clsx for conditional class-name composition."; readonly replacement: "clsx"; }, { readonly id: "LIB105"; readonly module: "joi"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "yup"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "superstruct"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "io-ts"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "runtypes"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB106"; readonly module: "jsonwebtoken"; readonly note: "Use jose; review key formats and async signing and verification APIs."; readonly replacement: "jose"; }, { readonly id: "LIB107"; readonly module: "express"; readonly note: "Standards standardizes servers on Hono; Node deployments also need @hono/node-server."; readonly replacement: "hono"; }, { readonly id: "LIB107"; readonly module: "koa"; readonly note: "Standards standardizes servers on Hono; Node deployments also need @hono/node-server."; readonly replacement: "hono"; }, { readonly id: "LIB108"; readonly module: "jest"; readonly note: "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup."; readonly replacement: "vitest"; }, { readonly id: "LIB108"; readonly module: "mocha"; readonly note: "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup."; readonly replacement: "vitest"; }, { readonly id: "LIB109"; readonly module: "sinon"; readonly note: "Use Vitest spies, mocks, and fake timers instead of Sinon."; readonly replacement: "Vitest mocks"; }, { readonly id: "LIB110"; readonly module: "commander"; readonly note: "Standards standardizes command-line interfaces on citty."; readonly replacement: "citty"; }, { readonly id: "LIB110"; readonly module: "yargs"; readonly note: "Standards standardizes command-line interfaces on citty."; readonly replacement: "citty"; }, { readonly id: "LIB111"; readonly module: "bluebird"; readonly note: "Use native Promise, adding p-limit or p-map only for the extensions actually needed."; readonly replacement: "native Promise"; }, { readonly id: "LIB112"; readonly module: "rimraf"; readonly note: "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics."; readonly replacement: "node:fs/promises"; }, { readonly id: "LIB112"; readonly module: "fs-extra"; readonly note: "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics."; readonly replacement: "node:fs/promises"; }, { readonly id: "LIB113"; readonly module: "abort-controller"; readonly note: "Node 22 provides global AbortController."; readonly replacement: "AbortController"; }, { readonly id: "LIB114"; readonly module: "querystring"; readonly note: "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion."; readonly replacement: "URLSearchParams"; }, { readonly id: "LIB115"; readonly module: "dotenv"; readonly note: "Standards standardizes environment loading on @dotenvx/dotenvx."; readonly replacement: "@dotenvx/dotenvx"; }, { readonly id: "LIB116"; readonly module: "chalk"; readonly note: "Use picocolors for terminal colors."; readonly replacement: "picocolors"; }, { readonly id: "LIB117"; readonly module: "faker"; readonly note: "The original faker package is abandoned; use @faker-js/faker."; readonly replacement: "@faker-js/faker"; }, { readonly id: "LIB118"; readonly module: "node-sass"; readonly note: "node-sass is end-of-life; use Dart Sass."; readonly replacement: "sass"; }, { readonly id: "LIB119"; readonly module: "tslint"; readonly note: "TSLint is deprecated; use ESLint with typescript-eslint."; readonly replacement: "eslint"; }]; }]; readonly "@sarj/prefer-native-random-uuid": "error"; readonly "@sarj/prefer-shadcn-primitives": "error"; readonly "@sarj/excessive-commentary": "warn"; readonly "@sarj/no-excessive-cognitive-complexity": "error"; readonly "@sarj/interface-contract-members-private": "error"; readonly "@sarj/iac-source-coupled-test": "error"; readonly "@sarj/duplicate-test-body": "error"; readonly "@sarj/enforce-file-structure": "error"; readonly "@sarj/no-client-side-data-fetching": "error"; readonly "@sarj/no-comment-cruft": "error"; readonly "@sarj/no-cors-wildcard-with-credentials": "error"; readonly "@sarj/no-dynamic-sql": "error"; readonly "@sarj/no-fat-try-blocks": readonly ["error", { readonly max: 5; }]; readonly "@sarj/no-hand-rolled-sleep": "error"; readonly "@sarj/no-hand-rolled-spinner": "error"; readonly "@sarj/no-insecure-random-id": "error"; readonly "@sarj/no-json-stringify-error": "error"; readonly "@sarj/no-impossible-zod-literal-bounds": "error"; readonly "@sarj/no-in-operator-on-built-in-collections": "error"; readonly "@sarj/no-log-only-catch": "error"; readonly "@sarj/no-bare-return-from-test-catch": "error"; readonly "@sarj/no-bespoke-api-case-conversion": "warn"; readonly "@sarj/no-detached-global-fetch": "error"; readonly "@sarj/no-json-stringify-object-equality": "warn"; readonly "@sarj/no-dangerously-allow-svg": "error"; readonly "@sarj/no-duplicate-lifecycle-refresh-listeners": "error"; readonly "@sarj/no-long-comment": "error"; readonly "@sarj/no-vague-suppression-description": "error"; readonly "@sarj/no-generic-single-export-module": "error"; readonly "@sarj/no-offset-pagination": "error"; readonly "@sarj/no-positional-tuple-return": "error"; readonly "@sarj/no-production-browser-source-maps": "error"; readonly "@sarj/no-repeated-string-literal": "error"; readonly "@sarj/no-redundant-optional-array-default": "error"; readonly "@sarj/no-router-refresh-polling": "error"; readonly "@sarj/no-restated-comment": "warn"; readonly "@sarj/no-restated-jsdoc": "warn"; readonly "@sarj/no-secret-in-log": "error"; readonly "@sarj/no-server-env-in-client-component": "error"; readonly "@sarj/no-select-star": "error"; readonly "@sarj/no-sentinel-return-on-catch": "error"; readonly "@sarj/no-silent-promise-catch": "error"; readonly "@sarj/no-sleep-in-test-body": "error"; readonly "@sarj/no-string-concat-in-loop": "error"; readonly "@sarj/no-tautological-expect": "error"; readonly "@sarj/no-typed-doc-sections": "error"; readonly "@sarj/no-trailing-value-narration": "error"; readonly "@sarj/no-declaration-comment-wall": "error"; readonly "@sarj/no-union-in-comment": "error"; readonly "@sarj/no-type-member-comment-wall": "error"; readonly "@sarj/no-unnecessary-use-client": "error"; readonly "@sarj/no-unsafe-mock-casting": "error"; readonly "@sarj/no-unsafe-test-double-cast": "error"; readonly "@sarj/no-first-party-module-mock": "error"; readonly "@sarj/no-zod-native-enum": "error"; readonly "@sarj/test-loops-over-literal-cases": "error"; readonly "@sarj/prefer-constant-time-secret-compare": "error"; readonly "@sarj/prefer-ecmascript-private-members": "error"; readonly "@sarj/prefer-discriminated-union": "error"; readonly "@sarj/prefer-input-group-search": "error"; readonly "@sarj/prefer-millisecond-control-duration-schema": "warn"; readonly "@sarj/prefer-immutable-module-constant": "error"; readonly "@sarj/prefer-module-level-constant": "error"; readonly "@sarj/prefer-module-level-schema": "error"; readonly "@sarj/prefer-module-level-refined-schema": "warn"; readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", { readonly zodMajorVersion: 4; }]; readonly "@sarj/prefer-named-callback-domain": "error"; readonly "@sarj/prefer-named-complex-return-type": "warn"; readonly "@sarj/prefer-node-crypto-hash": "warn"; readonly "@sarj/prefer-node-fs-promises": "warn"; readonly "@sarj/prefer-non-nullable-collection": "error"; readonly "@sarj/prefer-nullish-filter-predicate": "error"; readonly "@sarj/prefer-await-in-async-return": "error"; readonly "@sarj/prefer-schema-for-api-payload": "error"; readonly "@sarj/prefer-shared-zod-enum": "warn"; readonly "@sarj/prefer-switch-for-repeated-equality": "warn"; readonly "@sarj/prefer-semantic-colors": readonly ["error", { readonly requireSemanticTokens: true; }]; readonly "@sarj/prefer-server-actions": "error"; readonly "@sarj/prefer-whole-object-assertion": "warn"; readonly "@sarj/repeated-static-call-cases": "error"; readonly "@sarj/prefer-zod-infer": "error"; readonly "@sarj/prefer-zod-parse-output-type": "error"; readonly "@sarj/require-assert-never": "error"; readonly "@sarj/require-fetch-timeout": "error"; readonly "@sarj/require-interface-for-exported-class": "warn"; readonly "@sarj/require-port-for-service": "error"; readonly "@sarj/require-sql-access-class": "warn"; readonly "@sarj/require-static-next-matcher": "error"; readonly "@sarj/require-use-form-default-values": "error"; readonly "@sarj/require-use-server-in-actions-file": "error"; readonly "@sarj/require-zod-form-validation": "error"; readonly "@sarj/store-insert-requires-on-conflict": "error"; readonly "@sarj/stepdown": "error"; readonly "@sarj/source-coupled-test": "error"; readonly "@sarj/sole-export-matches-filename": "warn"; readonly "@sarj/test-phase-label-comment": "error"; readonly "@sarj/require-pascal-case-zod-schema-name": "error"; }; declare const STRICT_RULES: { readonly "@sarj/no-conditional-empty-object-spread": "error"; readonly "@sarj/prefer-typed-reflection": "error"; readonly "@sarj/no-broad-return-type": "error"; readonly "@sarj/no-reduce-accumulator-copy": "error"; readonly "@sarj/no-known-value-widening": "error"; readonly "@sarj/require-button-accessible-name": "error"; readonly "@sarj/require-svg-accessible-name": "error"; readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-toast": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-jsx-attributes": readonly ["error", { readonly enabled: false; }]; readonly "@sarj/no-unlocalized-jsx-text": readonly ["error", { readonly enabled: false; }]; readonly "no-restricted-imports": readonly ["error", { readonly paths: { name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint"; message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint."; }[]; readonly patterns: { group: string[]; message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint."; }[]; }]; readonly "@sarj/no-restricted-library-load": readonly ["error", { readonly libraries: readonly [{ readonly id: "LIB101"; readonly module: "request"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "node-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "cross-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "isomorphic-fetch"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB101"; readonly module: "axios"; readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration."; readonly replacement: "native fetch"; }, { readonly id: "LIB102"; readonly module: "moment"; readonly note: "Standards standardizes date utilities on date-fns; migration is not API-compatible."; readonly replacement: "date-fns"; }, { readonly id: "LIB102"; readonly module: "dayjs"; readonly note: "Standards standardizes date utilities on date-fns; migration is not API-compatible."; readonly replacement: "date-fns"; }, { readonly id: "LIB103"; readonly module: "lodash"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB103"; readonly module: "lodash-es"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB103"; readonly module: "underscore"; readonly note: "Standards standardizes collection utilities on Remeda and native APIs."; readonly replacement: "remeda"; }, { readonly id: "LIB104"; readonly module: "classnames"; readonly note: "Use clsx for conditional class-name composition."; readonly replacement: "clsx"; }, { readonly id: "LIB105"; readonly module: "joi"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "yup"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "superstruct"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "io-ts"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB105"; readonly module: "runtypes"; readonly note: "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible."; readonly replacement: "zod"; }, { readonly id: "LIB106"; readonly module: "jsonwebtoken"; readonly note: "Use jose; review key formats and async signing and verification APIs."; readonly replacement: "jose"; }, { readonly id: "LIB107"; readonly module: "express"; readonly note: "Standards standardizes servers on Hono; Node deployments also need @hono/node-server."; readonly replacement: "hono"; }, { readonly id: "LIB107"; readonly module: "koa"; readonly note: "Standards standardizes servers on Hono; Node deployments also need @hono/node-server."; readonly replacement: "hono"; }, { readonly id: "LIB108"; readonly module: "jest"; readonly note: "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup."; readonly replacement: "vitest"; }, { readonly id: "LIB108"; readonly module: "mocha"; readonly note: "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup."; readonly replacement: "vitest"; }, { readonly id: "LIB109"; readonly module: "sinon"; readonly note: "Use Vitest spies, mocks, and fake timers instead of Sinon."; readonly replacement: "Vitest mocks"; }, { readonly id: "LIB110"; readonly module: "commander"; readonly note: "Standards standardizes command-line interfaces on citty."; readonly replacement: "citty"; }, { readonly id: "LIB110"; readonly module: "yargs"; readonly note: "Standards standardizes command-line interfaces on citty."; readonly replacement: "citty"; }, { readonly id: "LIB111"; readonly module: "bluebird"; readonly note: "Use native Promise, adding p-limit or p-map only for the extensions actually needed."; readonly replacement: "native Promise"; }, { readonly id: "LIB112"; readonly module: "rimraf"; readonly note: "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics."; readonly replacement: "node:fs/promises"; }, { readonly id: "LIB112"; readonly module: "fs-extra"; readonly note: "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics."; readonly replacement: "node:fs/promises"; }, { readonly id: "LIB113"; readonly module: "abort-controller"; readonly note: "Node 22 provides global AbortController."; readonly replacement: "AbortController"; }, { readonly id: "LIB114"; readonly module: "querystring"; readonly note: "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion."; readonly replacement: "URLSearchParams"; }, { readonly id: "LIB115"; readonly module: "dotenv"; readonly note: "Standards standardizes environment loading on @dotenvx/dotenvx."; readonly replacement: "@dotenvx/dotenvx"; }, { readonly id: "LIB116"; readonly module: "chalk"; readonly note: "Use picocolors for terminal colors."; readonly replacement: "picocolors"; }, { readonly id: "LIB117"; readonly module: "faker"; readonly note: "The original faker package is abandoned; use @faker-js/faker."; readonly replacement: "@faker-js/faker"; }, { readonly id: "LIB118"; readonly module: "node-sass"; readonly note: "node-sass is end-of-life; use Dart Sass."; readonly replacement: "sass"; }, { readonly id: "LIB119"; readonly module: "tslint"; readonly note: "TSLint is deprecated; use ESLint with typescript-eslint."; readonly replacement: "eslint"; }]; }]; readonly "@sarj/prefer-native-random-uuid": "error"; readonly "@sarj/prefer-shadcn-primitives": "error"; readonly "@sarj/excessive-commentary": "warn"; readonly "@sarj/no-excessive-cognitive-complexity": "error"; readonly "@sarj/interface-contract-members-private": "error"; readonly "@sarj/iac-source-coupled-test": "error"; readonly "@sarj/duplicate-test-body": "error"; readonly "@sarj/enforce-file-structure": "error"; readonly "@sarj/no-client-side-data-fetching": "error"; readonly "@sarj/no-comment-cruft": "error"; readonly "@sarj/no-cors-wildcard-with-credentials": "error"; readonly "@sarj/no-dynamic-sql": "error"; readonly "@sarj/no-enum": "error"; readonly "@sarj/no-fat-try-blocks": readonly ["error", { readonly max: 5; }]; readonly "@sarj/no-hand-rolled-sleep": "error"; readonly "@sarj/no-hand-rolled-spinner": "error"; readonly "@sarj/no-insecure-random-id": "error"; readonly "@sarj/no-json-stringify-error": "error"; readonly "@sarj/no-impossible-zod-literal-bounds": "error"; readonly "@sarj/no-in-operator-on-built-in-collections": "error"; readonly "@sarj/no-log-only-catch": "error"; readonly "@sarj/no-bare-return-from-test-catch": "error"; readonly "@sarj/no-bespoke-api-case-conversion": "warn"; readonly "@sarj/no-detached-global-fetch": "error"; readonly "@sarj/no-json-stringify-object-equality": "warn"; readonly "@sarj/no-dangerously-allow-svg": "error"; readonly "@sarj/no-duplicate-lifecycle-refresh-listeners": "error"; readonly "@sarj/no-long-comment": "error"; readonly "@sarj/no-vague-suppression-description": "error"; readonly "@sarj/no-generic-single-export-module": "error"; readonly "@sarj/no-offset-pagination": "error"; readonly "@sarj/no-positional-tuple-return": "error"; readonly "@sarj/no-production-browser-source-maps": "error"; readonly "@sarj/no-raw-env": "error"; readonly "@sarj/no-raw-fetch-outside-clients": "error"; readonly "@sarj/no-repeated-string-literal": "error"; readonly "@sarj/no-redundant-optional-array-default": "error"; readonly "@sarj/no-router-refresh-polling": "error"; readonly "@sarj/no-restated-comment": "warn"; readonly "@sarj/no-restated-jsdoc": "warn"; readonly "@sarj/no-secret-in-log": "error"; readonly "@sarj/no-server-env-in-client-component": "error"; readonly "@sarj/no-select-star": "error"; readonly "@sarj/no-sentinel-return-on-catch": "error"; readonly "@sarj/no-silent-promise-catch": "error"; readonly "@sarj/no-sleep-in-test-body": "error"; readonly "@sarj/no-storage-in-stateless-modules": "error"; readonly "@sarj/no-string-concat-in-loop": "error"; readonly "@sarj/no-tautological-expect": "error"; readonly "@sarj/no-typed-doc-sections": "error"; readonly "@sarj/no-trailing-value-narration": "error"; readonly "@sarj/no-declaration-comment-wall": "error"; readonly "@sarj/no-union-in-comment": "error"; readonly "@sarj/no-type-member-comment-wall": "error"; readonly "@sarj/no-unnecessary-use-client": "error"; readonly "@sarj/no-unsafe-mock-casting": "error"; readonly "@sarj/no-unsafe-test-double-cast": "error"; readonly "@sarj/no-first-party-module-mock": "error"; readonly "@sarj/no-zod-native-enum": "error"; readonly "@sarj/test-loops-over-literal-cases": "error"; readonly "@sarj/prefer-constant-time-secret-compare": "error"; readonly "@sarj/prefer-ecmascript-private-members": "error"; readonly "@sarj/prefer-discriminated-union": "error"; readonly "@sarj/prefer-input-group-search": "error"; readonly "@sarj/prefer-millisecond-control-duration-schema": "warn"; readonly "@sarj/prefer-immutable-module-constant": "error"; readonly "@sarj/prefer-module-level-constant": "error"; readonly "@sarj/prefer-module-level-schema": "error"; readonly "@sarj/prefer-module-level-refined-schema": "warn"; readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", { readonly zodMajorVersion: 4; }]; readonly "@sarj/prefer-named-callback-domain": "error"; readonly "@sarj/prefer-named-complex-return-type": "warn"; readonly "@sarj/prefer-node-crypto-hash": "warn"; readonly "@sarj/prefer-node-fs-promises": "warn"; readonly "@sarj/prefer-non-nullable-collection": "error"; readonly "@sarj/prefer-nullish-filter-predicate": "error"; readonly "@sarj/prefer-await-in-async-return": "error"; readonly "@sarj/prefer-schema-for-api-payload": "error"; readonly "@sarj/prefer-shared-zod-enum": "warn"; readonly "@sarj/prefer-switch-for-repeated-equality": "warn"; readonly "@sarj/prefer-semantic-colors": readonly ["error", { readonly requireSemanticTokens: true; }]; readonly "@sarj/prefer-server-actions": "error"; readonly "@sarj/prefer-whole-object-assertion": "warn"; readonly "@sarj/repeated-static-call-cases": "error"; readonly "@sarj/prefer-zod-infer": "error"; readonly "@sarj/prefer-zod-parse-output-type": "error"; readonly "@sarj/require-assert-never": "error"; readonly "@sarj/require-fetch-timeout": "error"; readonly "@sarj/require-interface-for-exported-class": "warn"; readonly "@sarj/require-port-for-service": "error"; readonly "@sarj/require-sql-access-class": "warn"; readonly "@sarj/require-static-next-matcher": "error"; readonly "@sarj/require-use-form-default-values": "error"; readonly "@sarj/require-use-server-in-actions-file": "error"; readonly "@sarj/require-zod-form-validation": "error"; readonly "@sarj/store-insert-requires-on-conflict": "error"; readonly "@sarj/stepdown": "error"; readonly "@sarj/source-coupled-test": "error"; readonly "@sarj/sole-export-matches-filename": "warn"; readonly "@sarj/test-phase-label-comment": "error"; readonly "@sarj/require-pascal-case-zod-schema-name": "error"; }; type FlatPreset = { readonly name: string; readonly plugins: Record; readonly rules: Record; }; declare const PLUGIN: { readonly meta: { readonly name: "@sarj/eslint-plugin"; readonly version: "15.25.1"; }; readonly rules: { readonly "no-conditional-empty-object-spread": DocumentedRule<[], "avoid">; readonly "prefer-typed-reflection": DocumentedRule<[], "avoid">; readonly "no-broad-return-type": DocumentedRule<[], "avoid">; readonly "no-reduce-accumulator-copy": DocumentedRule<[], "copy">; readonly "no-known-value-widening": DocumentedRule<[], "widening">; readonly "require-button-accessible-name": DocumentedRule; readonly "require-svg-accessible-name": DocumentedRule; readonly "prefer-logical-tailwind-utilities": DocumentedRule; readonly "no-unlocalized-toast": DocumentedRule; readonly "no-unlocalized-jsx-attributes": DocumentedRule; readonly "no-unlocalized-jsx-text": DocumentedRule; readonly "excessive-commentary": DocumentedRule; readonly "iac-source-coupled-test": DocumentedRule; readonly "duplicate-test-body": DocumentedRule; readonly "enforce-file-structure": DocumentedRule; readonly "no-client-side-data-fetching": DocumentedRule; readonly "no-comment-cruft": DocumentedRule; readonly "no-cors-wildcard-with-credentials": DocumentedRule; readonly "no-duplicate-lifecycle-refresh-listeners": DocumentedRule; readonly "no-dangerously-allow-svg": DocumentedRule; readonly "no-dynamic-sql": DocumentedRule; readonly "no-enum": DocumentedRule; readonly "no-excessive-cognitive-complexity": DocumentedRule<[], "excessiveComplexity">; readonly "no-fat-try-blocks": DocumentedRule; readonly "no-hand-rolled-sleep": DocumentedRule; readonly "no-hand-rolled-spinner": DocumentedRule; readonly "no-insecure-random-id": DocumentedRule; readonly "no-detached-global-fetch": DocumentedRule; readonly "no-json-stringify-error": DocumentedRule; readonly "no-json-stringify-object-equality": DocumentedRule; readonly "no-impossible-zod-literal-bounds": DocumentedRule; readonly "no-in-operator-on-built-in-collections": DocumentedRule; readonly "no-redundant-optional-array-default": DocumentedRule; readonly "interface-contract-members-private": DocumentedRule; readonly "no-log-only-catch": DocumentedRule; readonly "no-bare-return-from-test-catch": DocumentedRule; readonly "no-bespoke-api-case-conversion": DocumentedRule; readonly "no-long-comment": DocumentedRule; readonly "no-vague-suppression-description": DocumentedRule; readonly "no-generic-single-export-module": DocumentedRule<[], "genericSingleExport">; readonly "no-offset-pagination": DocumentedRule; readonly "no-positional-tuple-return": DocumentedRule; readonly "no-production-browser-source-maps": DocumentedRule; readonly "no-raw-env": DocumentedRule; readonly "no-raw-fetch-outside-clients": DocumentedRule; readonly "no-restricted-library-load": DocumentedRule; readonly "no-router-refresh-polling": DocumentedRule; readonly "no-repeated-string-literal": DocumentedRule; readonly "no-restated-comment": DocumentedRule; readonly "no-restated-jsdoc": DocumentedRule; readonly "no-secret-in-log": DocumentedRule; readonly "no-server-env-in-client-component": DocumentedRule; readonly "no-select-star": DocumentedRule; readonly "no-sentinel-return-on-catch": DocumentedRule; readonly "no-silent-promise-catch": DocumentedRule; readonly "no-sleep-in-test-body": DocumentedRule; readonly "no-storage-in-stateless-modules": DocumentedRule; readonly "no-string-concat-in-loop": DocumentedRule; readonly "no-tautological-expect": DocumentedRule; readonly "no-typed-doc-sections": DocumentedRule; readonly "no-trailing-value-narration": DocumentedRule; readonly "no-declaration-comment-wall": DocumentedRule?], "commentWall">; readonly "no-union-in-comment": DocumentedRule; readonly "no-type-member-comment-wall": DocumentedRule?], "commentWall">; readonly "no-unnecessary-use-client": DocumentedRule; readonly "no-unsafe-mock-casting": DocumentedRule<[], "unsafeMockCast">; readonly "no-unsafe-test-double-cast": DocumentedRule<[], "noUnsafeTestDoubleCast">; readonly "no-first-party-module-mock": DocumentedRule; readonly "no-zod-native-enum": DocumentedRule; readonly "require-use-form-default-values": DocumentedRule; readonly "require-use-server-in-actions-file": DocumentedRule; readonly "test-loops-over-literal-cases": DocumentedRule; readonly "test-phase-label-comment": DocumentedRule; readonly "prefer-constant-time-secret-compare": DocumentedRule; readonly "prefer-ecmascript-private-members": DocumentedRule; readonly "prefer-discriminated-union": DocumentedRule; readonly "prefer-input-group-search": DocumentedRule; readonly "prefer-millisecond-control-duration-schema": DocumentedRule; readonly "prefer-immutable-module-constant": DocumentedRule; readonly "prefer-shadcn-primitives": DocumentedRule; readonly "prefer-module-level-constant": DocumentedRule; readonly "prefer-module-level-schema": DocumentedRule; readonly "prefer-module-level-refined-schema": DocumentedRule<[], "hoistRefinedSchema">; readonly "prefer-multi-value-zod-literal": DocumentedRule; readonly "prefer-named-callback-domain": DocumentedRule<[], "nameCallbackDomain">; readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">; readonly "prefer-native-random-uuid": DocumentedRule; readonly "prefer-node-crypto-hash": DocumentedRule; readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">; readonly "prefer-non-nullable-collection": DocumentedRule; readonly "prefer-nullish-filter-predicate": DocumentedRule; readonly "prefer-await-in-async-return": DocumentedRule; readonly "prefer-schema-for-api-payload": DocumentedRule; readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">; readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">; readonly "prefer-semantic-colors": DocumentedRule; readonly "prefer-server-actions": DocumentedRule; readonly "prefer-whole-object-assertion": DocumentedRule; readonly "repeated-static-call-cases": DocumentedRule; readonly "prefer-zod-infer": DocumentedRule; readonly "prefer-zod-parse-output-type": DocumentedRule; readonly "require-assert-never": DocumentedRule; readonly "require-fetch-timeout": DocumentedRule; readonly "require-interface-for-exported-class": DocumentedRule<[], "requireContract">; readonly "require-port-for-service": DocumentedRule; readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">; readonly "require-static-next-matcher": DocumentedRule; readonly "require-zod-form-validation": DocumentedRule; readonly "store-insert-requires-on-conflict": DocumentedRule; readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">; readonly "source-coupled-test": DocumentedRule; readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">; readonly "require-pascal-case-zod-schema-name": DocumentedRule; }; readonly retiredRules: Readonly>; readonly configs: { readonly recommended: FlatPreset; readonly strict: FlatPreset; }; }; export { ADVISORY_RULES, APPLICATION_ONLY_RULES, RECOMMENDED_RULES, RENAMED_RULES, RETIRED_RULES, RULES, type RetiredRule, STRICT_RULES, ADVISORY_RULES as advisoryRules, APPLICATION_ONLY_RULES as applicationOnlyRules, PLUGIN as default, publicDocumentation, RECOMMENDED_RULES as recommendedRules, RENAMED_RULES as renamedRules, RETIRED_RULES as retiredRules, RULES as rules, STRICT_RULES as strictRules };