. */ declare(strict_types=1); namespace FireflyIII\Import\Prerequisites; use FireflyIII\User; use Illuminate\Support\MessageBag; /** * Interface PrerequisitesInterface */ interface PrerequisitesInterface { /** * Returns view name that allows user to fill in prerequisites. * * @return string */ public function getView(): string; /** * Returns any values required for the prerequisites-view. * * @return array */ public function getViewParameters(): array; /** * Indicate if all prerequisites have been met. * * @return bool */ public function isComplete(): bool; /** * Set the user for this Prerequisites-routine. Class is expected to implement and save this. * * @param User $user */ public function setUser(User $user): void; /** * This method responds to the user's submission of an API key. Should do nothing but store the value. * * Errors must be returned in the message bag under the field name they are requested by. * * @param array $data * * @return MessageBag */ public function storePrerequisites(array $data): MessageBag; }