`const config = {
animals: {
type: "select",
options: ["cat", "dog"] as const,
},
};
type FormData<T extends Record<string, any>> = {
[K in keyof T]: T[K] extends { type: "select"; options: readonly any[] }
? T[K]["options"][number]
: never;
};
type Result = FormData<typeof config>;
// Result is:
// {
// animals: "cat" | "dog";
// }`