```ts
export function layerConfigs(layers: Array<Record<string, unknown>>): Record<string, unknown> {
  if (!Array.isArray(layers)) {
    throw new Error("Input must be an array");
  }

  const result: Record<string, unknown> = {};

  for (const layer of layers) {
    if (typeof layer !== 'object' || layer === null) {
      throw new Error("Each layer must be a mapping");
    }

    for (const [key, value] of Object.entries(layer)) {
      if (value === null) {
        delete result[key];
      } else if (typeof value === 'object' && value !== null && typeof result[key] === 'object' && result[key] !== null) {
        result[key] = layerConfigs([result[key], value] as [Record<string, unknown>, Record<string, unknown>]);
      } else {
        result[key] = value;
      }
    }
  }

  return result;
}
```