*/ public function supportedFeatures(): array; /** * @param array $input * @return array */ public function createRules(array $input): array; /** * @param array $input * @return array */ public function createFields(array $input): array; /** * @param array $input * @return array */ public function data(array $input): array; public function install(): void; /** * @param array $input * @return array */ public function editRules(array $input): array; public function edit(): void; /** * @return array> */ public function baseCommands(): array; }