/**
 * Centralized query key factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
// ============================================================================
// 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
// ============================================================================
export const getAllRecordKeys = {
    /** All getAllRecord queries */ all: ['getallrecord'],
    /** List query keys */ lists: () => [...getAllRecordKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...getAllRecordKeys.lists(), variables],
    /** Detail query keys */ details: () => [...getAllRecordKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...getAllRecordKeys.details(), id],
};
export const objectKeys = {
    /** All object queries */ all: ['object'],
    /** List query keys */ lists: () => [...objectKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...objectKeys.lists(), variables],
    /** Detail query keys */ details: () => [...objectKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...objectKeys.details(), id],
};
export const refKeys = {
    /** All ref queries */ all: ['ref'],
    /** List query keys */ lists: () => [...refKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...refKeys.lists(), variables],
    /** Detail query keys */ details: () => [...refKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...refKeys.details(), id],
};
export const storeKeys = {
    /** All store queries */ all: ['store'],
    /** List query keys */ lists: () => [...storeKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...storeKeys.lists(), variables],
    /** Detail query keys */ details: () => [...storeKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...storeKeys.details(), id],
};
export const commitKeys = {
    /** All commit queries */ all: ['commit'],
    /** List query keys */ lists: () => [...commitKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...commitKeys.lists(), variables],
    /** Detail query keys */ details: () => [...commitKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...commitKeys.details(), id],
};
// ============================================================================
// Custom Query Keys
// ============================================================================
export const customQueryKeys = {
    /** Query key for revParse */ revParse: (variables) => ['revParse', variables],
    /** Query key for getAllObjectsFromRoot */ getAllObjectsFromRoot: (variables) => ['getAllObjectsFromRoot', variables],
    /** Query key for getPathObjectsFromRoot */ getPathObjectsFromRoot: (variables) => ['getPathObjectsFromRoot', variables],
    /** Query key for getObjectAtPath */ getObjectAtPath: (variables) => ['getObjectAtPath', variables],
};
/**

// ============================================================================
// 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) });
 * ```
 */
export const queryKeys = {
    getAllRecord: getAllRecordKeys,
    object: objectKeys,
    ref: refKeys,
    store: storeKeys,
    commit: commitKeys,
    custom: customQueryKeys,
};
