import type { TtscLintRuleSetting } from "../TtscLintRuleSetting"; /** * Next.js framework rules from `@next/eslint-plugin-next`, applied to * TypeScript and TSX sources inside Next.js apps. * * Configures static Next.js conventions for pages/app paths, `` * placement, and font, script, image and link syntax. These checks do not run * the framework or predict rendering and hydration outcomes. * * @reference https://nextjs.org/docs/app/api-reference/config/eslint * * @evidence contracts/common.md#principled-implementation Optional nextjs keys pair each framework policy with the severity-only setting union; unspecified keys do not impose an application policy. * @evidence contracts/common.md#clear-and-simple-design One map owns Next.js rule enablement, leaving framework detection and diagnostics to native implementations instead of embedding them in configuration types. * @evidence contracts/common.md#prohibited-implementation-shortcuts Framework rule names are contract-defined keys, not consumer-specific cases, and the interface introduces no untyped options bypass. * @evidence contracts/common.md#meaningful-documentation Native family and member comments explain routing, component and asset-loading concerns with examples of affected syntax; paragraph and member separation follow documentation guidance. */ export interface ITtscLintNextjsRules { /** * Reject missing, `auto`, `block`, and `fallback` display query values on * static https://fonts.googleapis.com/css links. Prefer `optional` or * `swap`. * * @reference https://nextjs.org/docs/messages/google-font-display */ "nextjs/google-font-display"?: TtscLintRuleSetting; /** * Require `rel="preconnect"` for `fonts.gstatic.com` links to shave latency * off Google Font fetches. * * @reference https://nextjs.org/docs/messages/google-font-preconnect */ "nextjs/google-font-preconnect"?: TtscLintRuleSetting; /** * Require an `id` attribute on inline `