/**
 * 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 infraGetAllRecordKeys = {
    /** All infraGetAllRecord queries */ all: ['infragetallrecord'],
    /** List query keys */ lists: () => [...infraGetAllRecordKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...infraGetAllRecordKeys.lists(), variables],
    /** Detail query keys */ details: () => [...infraGetAllRecordKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...infraGetAllRecordKeys.details(), id],
};
export const infraRefKeys = {
    /** All infraRef queries */ all: ['infraref'],
    /** List query keys */ lists: () => [...infraRefKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...infraRefKeys.lists(), variables],
    /** Detail query keys */ details: () => [...infraRefKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...infraRefKeys.details(), id],
};
export const infraStoreKeys = {
    /** All infraStore queries */ all: ['infrastore'],
    /** List query keys */ lists: () => [...infraStoreKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...infraStoreKeys.lists(), variables],
    /** Detail query keys */ details: () => [...infraStoreKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...infraStoreKeys.details(), id],
};
export const infraObjectKeys = {
    /** All infraObject queries */ all: ['infraobject'],
    /** List query keys */ lists: () => [...infraObjectKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...infraObjectKeys.lists(), variables],
    /** Detail query keys */ details: () => [...infraObjectKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...infraObjectKeys.details(), id],
};
export const infraCommitKeys = {
    /** All infraCommit queries */ all: ['infracommit'],
    /** List query keys */ lists: () => [...infraCommitKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...infraCommitKeys.lists(), variables],
    /** Detail query keys */ details: () => [...infraCommitKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...infraCommitKeys.details(), id],
};
export const dbPresetKeys = {
    /** All dbPreset queries */ all: ['dbpreset'],
    /** List query keys */ lists: () => [...dbPresetKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...dbPresetKeys.lists(), variables],
    /** Detail query keys */ details: () => [...dbPresetKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...dbPresetKeys.details(), id],
};
export const platformNamespaceKeys = {
    /** All platformNamespace queries */ all: ['platformnamespace'],
    /** List query keys */ lists: () => [...platformNamespaceKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...platformNamespaceKeys.lists(), variables],
    /** Detail query keys */ details: () => [...platformNamespaceKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...platformNamespaceKeys.details(), id],
};
export const namespaceKeys = {
    /** All namespace queries */ all: ['namespace'],
    /** List query keys */ lists: () => [...namespaceKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...namespaceKeys.lists(), variables],
    /** Detail query keys */ details: () => [...namespaceKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...namespaceKeys.details(), id],
};
export const platformNamespaceEventKeys = {
    /** All platformNamespaceEvent queries */ all: ['platformnamespaceevent'],
    /** List query keys */ lists: () => [...platformNamespaceEventKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...platformNamespaceEventKeys.lists(), variables],
    /** Detail query keys */ details: () => [...platformNamespaceEventKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...platformNamespaceEventKeys.details(), id],
};
export const namespaceEventKeys = {
    /** All namespaceEvent queries */ all: ['namespaceevent'],
    /** List query keys */ lists: () => [...namespaceEventKeys.all, 'list'],
    /** List query key with variables */ list: (variables) => [...namespaceEventKeys.lists(), variables],
    /** Detail query keys */ details: () => [...namespaceEventKeys.all, 'detail'],
    /** Detail query key for specific item */ detail: (id) => [...namespaceEventKeys.details(), id],
};
/**

// ============================================================================
// 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 = {
    infraGetAllRecord: infraGetAllRecordKeys,
    infraRef: infraRefKeys,
    infraStore: infraStoreKeys,
    infraObject: infraObjectKeys,
    infraCommit: infraCommitKeys,
    dbPreset: dbPresetKeys,
    platformNamespace: platformNamespaceKeys,
    namespace: namespaceKeys,
    platformNamespaceEvent: platformNamespaceEventKeys,
    namespaceEvent: namespaceEventKeys,
};
