*/ interface SettingRepositoryInterface extends BaseRepositoryInterface { /** * @return Collection */ public function all(): Collection; /** * Get all public settings grouped by group name (nested key-value format). * * @return array> */ public function publicGrouped(): array; /** * Get public settings for a single group (key-value format). * * @return array */ public function publicByGroup(SettingGroup $group): array; public function findByKey(string $key): ?Setting; /** * @return Collection */ public function getByGroup(SettingGroup $group): Collection; /** * Bulk update settings using dot notation keys (e.g. "general.site_name"). * * @param array $settings */ public function bulkUpdate(array $settings): void; /** * Clear all setting caches. */ public function clearCache(): void; }