> */ public function findAll(bool $activeOnly = true, ?string $category = null): array; /** * Find stopword by ID. * * @return array|null */ public function find(int $id): ?array; /** * Get all canonical forms for fast lookup. * * @return array List of canonical stopword forms */ public function getCanonicalForms(bool $activeOnly = true): array; /** * Check if a word is a stopword. */ public function isStopword(string $word): bool; /** * Create a new stopword. * * @param array $data */ public function create(array $data): int; /** * Update a stopword. * * @param array $data */ public function update(int $id, array $data): bool; /** * Delete a stopword. */ public function delete(int $id): bool; /** * Toggle active status. */ public function toggleActive(int $id): bool; /** * Get statistics by category. * * @return array */ public function getStats(): array; }