buttonPredicate: z.ZodDiscriminatedUnion<[z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  style: z.ZodLiteral<ButtonStyle.Link>;  url: z.ZodURL;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Primary>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Secondary>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Success>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Danger>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  style: z.ZodLiteral<ButtonStyle.Premium>;  sku_id: z.ZodString;}, z.core.$strict>], "style">z.ZodDiscriminatedUnion<[z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  style: z.ZodLiteral<ButtonStyle.Link>;  url: z.ZodURL;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Primary>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Secondary>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Success>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  custom_id: z.ZodString;  emoji: z.ZodOptional<z.ZodObject<{    id: z.ZodOptional<z.ZodString>;    name: z.ZodOptional<z.ZodString>;    animated: z.ZodOptional<z.ZodBoolean>;  }, z.core.$strict>>;  label: z.ZodString;  style: z.ZodLiteral<ButtonStyle.Danger>;}, z.core.$strict>, z.ZodObject<{  type: z.ZodLiteral<ComponentType.Button>;  disabled: z.ZodOptional<z.ZodBoolean>;  style: z.ZodLiteral<ButtonStyle.Premium>;  sku_id: z.ZodString;}, z.core.$strict>], "style">