. */ declare(strict_types=1); namespace FireflyIII\Import\JobConfiguration; use FireflyIII\Models\ImportJob; use Illuminate\Support\MessageBag; /** * Interface JobConfigurationInterface. */ interface JobConfigurationInterface { /** * Returns true when the initial configuration for this job is complete. * * @return bool */ public function configurationComplete(): bool; /** * Store any data from the $data array into the job. Anything in the message bag will be flashed * as an error to the user, regardless of its content. * * @param array $data * * @return MessageBag */ public function configureJob(array $data): MessageBag; /** * Return the data required for the next step in the job configuration. * * @return array */ public function getNextData(): array; /** * Returns the view of the next step in the job configuration. * * @return string */ public function getNextView(): string; /** * Set import job. * * @param ImportJob $importJob */ public function setImportJob(ImportJob $importJob): void; }