/// /// declare module 'framer-motion' { import type { ComponentType } from 'react'; // Minimal shim to satisfy strict typing for usage in JSX export type MotionComponent = ComponentType>; export const motion: { div: MotionComponent; span: MotionComponent; button: MotionComponent; svg: MotionComponent; p: MotionComponent; [element: string]: MotionComponent; }; export const AnimatePresence: ComponentType>; export function useReducedMotion(): boolean; // Shim motion values with a minimal interface exposing .set() export interface MotionValue { get(): T; set(v: T): void; } export function useMotionValue(initial: number): MotionValue; export function useSpring(value: MotionValue | number, config?: Record): MotionValue; export function useTransform( value: MotionValue, transformer: (input: TInput) => TOutput, ): MotionValue; } declare module '@next/third-party-devtools' { import type { ComponentType } from 'react'; const Devtools: ComponentType>; export default Devtools; } declare module 'react/compiler-runtime' { export {}; } // Shim missing React namespace member used by Next devtools types declare namespace React { // Minimal placeholder type; generic to match Next's usage type ActionDispatch = (action: T) => void; } declare namespace NodeJS { interface ProcessEnv { NEXT_PUBLIC_GRIDPILOT_MODE?: 'pre-launch' | 'alpha'; NEXT_PUBLIC_X_URL?: string; } }