. */ namespace SP\Domain\Account; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\Core\Exceptions\SPException; use SP\Domain\Account\Search\AccountSearchFilter; use SP\Infrastructure\Database\QueryResult; /** * Class AccountSearchService para la gestión de búsquedas de cuentas */ interface AccountSearchServiceInterface { /** * Procesar los resultados de la búsqueda y crear la variable que contiene los datos de cada cuenta * a mostrar. * * @throws ConstraintException * @throws QueryException * @throws SPException */ public function getByFilter(AccountSearchFilter $accountSearchFilter): QueryResult; /** * Analizar la cadena de consulta por eqituetas especiales y devolver un objeto * QueryCondition con los filtros */ public function analyzeQueryFilters(string $string): void; public function getCleanString(): ?string; }