/** * Teams Query Keys Factory * * Centralized query key management for all team-related React Query hooks. * Enables predictable caching and smart cache invalidation. * * @module core/lib/teams/teams.keys * * @example * // Using keys in hooks * useQuery({ queryKey: teamsKeys.user() }) * useQuery({ queryKey: teamsKeys.adminList({ search: 'acme' }) }) * * // Invalidating related queries * queryClient.invalidateQueries({ queryKey: teamsKeys.all }) */ import type { AdminTeamsParams } from './types'; export declare const teamsKeys: { /** * Base key for all team queries * Use to invalidate ALL team-related caches */ readonly all: readonly ["teams"]; /** * User's teams (normal user scope) * Endpoint: GET /api/v1/teams */ readonly user: () => readonly ["teams", "user"]; /** * Single team by ID */ readonly detail: (teamId: string) => readonly ["teams", "detail", string]; /** * Admin teams scope (superadmin/developer) * Base key for all admin team queries */ readonly admin: () => readonly ["teams", "admin"]; /** * Admin teams list with parameters * Endpoint: GET /api/superadmin/teams * Used by superadmin management page */ readonly adminList: (params: AdminTeamsParams) => readonly ["teams", "admin", "list", AdminTeamsParams]; /** * Admin teams search (optimized for dropdowns) * Uses simplified key for search-based caching */ readonly adminSearch: (search: string) => readonly ["teams", "admin", "search", string]; }; /** * Type helper for query key inference */ export type TeamsKeys = typeof teamsKeys; //# sourceMappingURL=teams.keys.d.ts.map