"use strict";
/**
 * Centralized query key factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.queryKeys = exports.customQueryKeys = exports.userKeys = exports.userConnectedAccountKeys = exports.roleTypeKeys = exports.identityProviderKeys = exports.auditLogAuthKeys = exports.webauthnCredentialKeys = exports.cryptoAddressKeys = exports.phoneNumberKeys = exports.emailKeys = void 0;
// ============================================================================
// This file provides a centralized, type-safe query key factory following
// the lukemorales query-key-factory pattern for React Query.
//
// Benefits:
// - Single source of truth for all query keys
// - Type-safe key access with autocomplete
// - Hierarchical invalidation (invalidate all 'user.*' queries)
// - Scoped keys for parent-child relationships
// ============================================================================
// ============================================================================
// Entity Query Keys
// ============================================================================
exports.emailKeys = {
    /** All email queries */ all: ['email'],
    /** List query keys */ lists: () => [...exports.emailKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.emailKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.emailKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.emailKeys.details(), id],
};
exports.phoneNumberKeys = {
    /** All phoneNumber queries */ all: ['phonenumber'],
    /** List query keys */ lists: () => [...exports.phoneNumberKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.phoneNumberKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.phoneNumberKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.phoneNumberKeys.details(), id],
};
exports.cryptoAddressKeys = {
    /** All cryptoAddress queries */ all: ['cryptoaddress'],
    /** List query keys */ lists: () => [...exports.cryptoAddressKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.cryptoAddressKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.cryptoAddressKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.cryptoAddressKeys.details(), id],
};
exports.webauthnCredentialKeys = {
    /** All webauthnCredential queries */ all: ['webauthncredential'],
    /** List query keys */ lists: () => [...exports.webauthnCredentialKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.webauthnCredentialKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.webauthnCredentialKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.webauthnCredentialKeys.details(), id],
};
exports.auditLogAuthKeys = {
    /** All auditLogAuth queries */ all: ['auditlogauth'],
    /** List query keys */ lists: () => [...exports.auditLogAuthKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.auditLogAuthKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.auditLogAuthKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.auditLogAuthKeys.details(), id],
};
exports.identityProviderKeys = {
    /** All identityProvider queries */ all: ['identityprovider'],
    /** List query keys */ lists: () => [...exports.identityProviderKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.identityProviderKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.identityProviderKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.identityProviderKeys.details(), id],
};
exports.roleTypeKeys = {
    /** All roleType queries */ all: ['roletype'],
    /** List query keys */ lists: () => [...exports.roleTypeKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.roleTypeKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.roleTypeKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.roleTypeKeys.details(), id],
};
exports.userConnectedAccountKeys = {
    /** All userConnectedAccount queries */ all: ['userconnectedaccount'],
    /** List query keys */ lists: () => [...exports.userConnectedAccountKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.userConnectedAccountKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.userConnectedAccountKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.userConnectedAccountKeys.details(), id],
};
exports.userKeys = {
    /** All user queries */ all: ['user'],
    /** List query keys */ lists: () => [...exports.userKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...exports.userKeys.lists(), variables],
    /** Detail query keys */ details: () => [...exports.userKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...exports.userKeys.details(), id],
};
// ============================================================================
// Custom Query Keys
// ============================================================================
exports.customQueryKeys = {
    /** Query key for currentUserAgent */ currentUserAgent: () => ['currentUserAgent'],
    /** Query key for currentIpAddress */ currentIpAddress: () => ['currentIpAddress'],
    /** Query key for currentUserId */ currentUserId: () => ['currentUserId'],
    /** Query key for requireStepUp */ requireStepUp: (variables) => ['requireStepUp', variables],
    /** Query key for currentUser */ currentUser: () => ['currentUser'],
};
/**

// ============================================================================
// Unified Query Key Store
// ============================================================================

 * Unified query key store
 *
 * Use this for type-safe query key access across your application.
 *
 * @example
 * ```ts
 * // Invalidate all user queries
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.all });
 *
 * // Invalidate user list queries
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.lists() });
 *
 * // Invalidate specific user
 * queryClient.invalidateQueries({ queryKey: queryKeys.user.detail(userId) });
 * ```
 */
exports.queryKeys = {
    email: exports.emailKeys,
    phoneNumber: exports.phoneNumberKeys,
    cryptoAddress: exports.cryptoAddressKeys,
    webauthnCredential: exports.webauthnCredentialKeys,
    auditLogAuth: exports.auditLogAuthKeys,
    identityProvider: exports.identityProviderKeys,
    roleType: exports.roleTypeKeys,
    userConnectedAccount: exports.userConnectedAccountKeys,
    user: exports.userKeys,
    custom: exports.customQueryKeys,
};
