/**
 * @fileoverview Type safety utilities for exhaustive checking.
 *
 * @module utils/type-safety
 */
/**
 * Assert that a value should never occur at runtime.
 * Used in switch/case default blocks to ensure exhaustive handling.
 *
 * If TypeScript sees a code path where `value` is not `never`,
 * it will report a compile-time error, catching missing cases.
 *
 * @param value - The value that should be of type `never`
 * @param message - Optional custom error message
 * @throws Error if called at runtime (indicates unhandled case)
 *
 * @example
 * type Status = 'active' | 'inactive' | 'pending';
 * function handleStatus(status: Status): void {
 *   switch (status) {
 *     case 'active': // handle active
 *       break;
 *     case 'inactive': // handle inactive
 *       break;
 *     case 'pending': // handle pending
 *       break;
 *     default:
 *       assertNever(status); // Compile error if case is missing
 *   }
 * }
 */
export declare function assertNever(value: never, message?: string): never;
//# sourceMappingURL=type-safety.d.ts.map