TypeScript Const Enums
We don't use Typescript enums because they are not fully type-safe and can cause surprises. Instead of using enums, we use constant objects.
Our Recommended Approach
export const PasskeyActions = {
Register: "register",
Authenticate: "authenticate",
} as const;
export type PasskeyActionValue = (typeof PasskeyActions)[keyof typeof PasskeyActions];
declare function usePasskeyAction(action: PasskeyActionValue): void;
usePasskey(PasskeyActions.Register); // ✅ Valid
usePasskey(0); // ❌ Invalid