Files
gridpilot.gg/apps/website/env.d.ts
2025-12-25 12:54:08 +01:00

56 lines
1.5 KiB
TypeScript

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