```ts
export function checkManifest(line: Record<string, unknown>): Record<string, unknown> {
    const validKeys = ['sku', 'count', 'note'];
    for (const key in line) {
        if (!validKeys.includes(key)) throw new Error(`Invalid key: ${key}`);
    }
    const sku = typeof line.sku === 'string' ? line.sku.trim() : '';
    if (sku === '') throw new Error('SKU must be a non-empty string');
    const count = Number(line.count);
    if (!Number.isInteger(count) || count <= 0) throw new Error('Count must be a positive whole number');
    const note = typeof line.note === 'string' ? line.note : '';
    return { sku, count, note };
}
```