* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\DataWizard\Application\Model; use FormManager\Inputs\Input; interface QueryBase { public function run(); /** * Ensure that the translations are equally available in the frontend and the backend * @return string */ public function getTitle(): string; /** * Ensure that the translations are equally available in the frontend and the backend * @return string */ public function getDescription(): string; /** * @return string */ public function getButtonText(): string; /** * @return array [string $query, array $parameters] */ public function getQuery(): array; /** * @param Input $input */ public function registerFormElement(Input $input); /** * @return bool */ public function hasFormElements(): bool; /** * @return array */ public function getFormElements(): array; }