. */ declare(strict_types=1); namespace FireflyIII\Support\Search; use FireflyIII\User; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; /** * Interface SearchInterface. */ interface SearchInterface { /** * @return Collection */ public function getModifiers(): Collection; /** * @return string */ public function getWordsAsString(): string; /** * @return bool */ public function hasModifiers(): bool; /** * @param string $query */ public function parseQuery(string $query); /** * @return float */ public function searchTime(): float; /** * @return LengthAwarePaginator */ public function searchTransactions(): LengthAwarePaginator; /** * @param int $limit */ public function setLimit(int $limit); /** * @param User $user */ public function setUser(User $user); }