. */ declare(strict_types=1); namespace FireflyIII\Support\Search; use Carbon\Carbon; use FireflyIII\User; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; /** * Interface SearchInterface. */ interface SearchInterface { public function getInvalidOperators(): array; public function getModifiers(): Collection; public function getOperators(): Collection; public function getWordsAsString(): string; public function hasModifiers(): bool; public function parseQuery(string $query): void; public function searchTime(): float; public function searchTransactions(): LengthAwarePaginator; public function setDate(Carbon $date): void; public function setLimit(int $limit): void; public function setPage(int $page): void; public function setUser(User $user): void; }