```
const MODULUS = 1000000007;

/** The nth Fibonacci number, modulo 1000000007. */
export function fibMod(n: number): number {
  if (n < 0 || !Number.isInteger(n)) {
    throw new Error("Input must be a non-negative integer.");
  }
  
  if (n <= 1) {
    return n;
  }

  let prev2 = 0, prev1 = 1; // Base cases
  for (let i = 2; i <= n; i++) {
    const next = (prev1 + prev2) % MODULUS;
    prev2 = prev1; // Move up the sequence
    prev1 = next;
  }

  return prev1;
}
```