public function rules(): array 	{ 		return [ 			'name' => ['required', 'string', 'max:50'], 			'mode' => ['required', 'integer', new Enum(RoleMode::class)], 			'protected' => ['boolean'], 			'api_rate_limit' => ['required', 'integer', 'min:1'], 			'api_rate_limit_backoff_minutes' => ['required', 'integer', 'min:1'], 			'disallowed_methods' => ['array'], 			'disallowed_methods.*' => ['required', 'string', 'distinct', new Enum(HttpMethod::class)], 			'abilities' => ['array'], 			'abilities.*' => ['required', 'int', 'distinct', new Enum(RoleAbility::class)], 			'routes' => ['array'], 			'routes.*' => ['required', 'string', 'distinct', 'max:100'], 		]; 	}