/**
 * Centralized mutation key factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
// ============================================================================
// Mutation keys for tracking in-flight mutations
//
// Benefits:
// - Track mutation state with useIsMutating
// - Implement optimistic updates with proper rollback
// - Deduplicate identical mutations
// - Coordinate related mutations
// ============================================================================
// ============================================================================
// Entity Mutation Keys
// ============================================================================
export const emailMutationKeys = {
    /** All email mutation keys */ all: ['mutation', 'email'],
    /** Create email mutation key */ create: () => ['mutation', 'email', 'create'],
    /** Update email mutation key */ update: (id) => ['mutation', 'email', 'update', id],
    /** Delete email mutation key */ delete: (id) => ['mutation', 'email', 'delete', id],
};
export const phoneNumberMutationKeys = {
    /** All phoneNumber mutation keys */ all: ['mutation', 'phonenumber'],
    /** Create phoneNumber mutation key */ create: () => ['mutation', 'phonenumber', 'create'],
    /** Update phoneNumber mutation key */ update: (id) => ['mutation', 'phonenumber', 'update', id],
    /** Delete phoneNumber mutation key */ delete: (id) => ['mutation', 'phonenumber', 'delete', id],
};
export const cryptoAddressMutationKeys = {
    /** All cryptoAddress mutation keys */ all: ['mutation', 'cryptoaddress'],
    /** Create cryptoAddress mutation key */ create: () => ['mutation', 'cryptoaddress', 'create'],
    /** Update cryptoAddress mutation key */ update: (id) => ['mutation', 'cryptoaddress', 'update', id],
    /** Delete cryptoAddress mutation key */ delete: (id) => ['mutation', 'cryptoaddress', 'delete', id],
};
export const webauthnCredentialMutationKeys = {
    /** All webauthnCredential mutation keys */ all: ['mutation', 'webauthncredential'],
    /** Create webauthnCredential mutation key */ create: () => ['mutation', 'webauthncredential', 'create'],
    /** Update webauthnCredential mutation key */ update: (id) => ['mutation', 'webauthncredential', 'update', id],
    /** Delete webauthnCredential mutation key */ delete: (id) => ['mutation', 'webauthncredential', 'delete', id],
};
export const auditLogMutationKeys = {
    /** All auditLog mutation keys */ all: ['mutation', 'auditlog'],
    /** Create auditLog mutation key */ create: () => ['mutation', 'auditlog', 'create'],
    /** Update auditLog mutation key */ update: (id) => ['mutation', 'auditlog', 'update', id],
    /** Delete auditLog mutation key */ delete: (id) => ['mutation', 'auditlog', 'delete', id],
};
export const identityProviderMutationKeys = {
    /** All identityProvider mutation keys */ all: ['mutation', 'identityprovider'],
    /** Create identityProvider mutation key */ create: () => ['mutation', 'identityprovider', 'create'],
    /** Update identityProvider mutation key */ update: (id) => ['mutation', 'identityprovider', 'update', id],
    /** Delete identityProvider mutation key */ delete: (id) => ['mutation', 'identityprovider', 'delete', id],
};
export const roleTypeMutationKeys = {
    /** All roleType mutation keys */ all: ['mutation', 'roletype'],
    /** Create roleType mutation key */ create: () => ['mutation', 'roletype', 'create'],
    /** Update roleType mutation key */ update: (id) => ['mutation', 'roletype', 'update', id],
    /** Delete roleType mutation key */ delete: (id) => ['mutation', 'roletype', 'delete', id],
};
export const userConnectedAccountMutationKeys = {
    /** All userConnectedAccount mutation keys */ all: ['mutation', 'userconnectedaccount'],
    /** Create userConnectedAccount mutation key */ create: () => ['mutation', 'userconnectedaccount', 'create'],
    /** Update userConnectedAccount mutation key */ update: (id) => ['mutation', 'userconnectedaccount', 'update', id],
    /** Delete userConnectedAccount mutation key */ delete: (id) => ['mutation', 'userconnectedaccount', 'delete', id],
};
export const userMutationKeys = {
    /** All user mutation keys */ all: ['mutation', 'user'],
    /** Create user mutation key */ create: () => ['mutation', 'user', 'create'],
    /** Update user mutation key */ update: (id) => ['mutation', 'user', 'update', id],
    /** Delete user mutation key */ delete: (id) => ['mutation', 'user', 'delete', id],
};
// ============================================================================
// Custom Mutation Keys
// ============================================================================
export const customMutationKeys = {
    /** Mutation key for signOut */ signOut: (identifier) => identifier
        ? ['mutation', 'signOut', identifier]
        : ['mutation', 'signOut'],
    /** Mutation key for sendAccountDeletionEmail */ sendAccountDeletionEmail: (identifier) => identifier
        ? ['mutation', 'sendAccountDeletionEmail', identifier]
        : ['mutation', 'sendAccountDeletionEmail'],
    /** Mutation key for checkPassword */ checkPassword: (identifier) => identifier
        ? ['mutation', 'checkPassword', identifier]
        : ['mutation', 'checkPassword'],
    /** Mutation key for disconnectAccount */ disconnectAccount: (identifier) => identifier
        ? ['mutation', 'disconnectAccount', identifier]
        : ['mutation', 'disconnectAccount'],
    /** Mutation key for revokeApiKey */ revokeApiKey: (identifier) => identifier
        ? ['mutation', 'revokeApiKey', identifier]
        : ['mutation', 'revokeApiKey'],
    /** Mutation key for revokeSession */ revokeSession: (identifier) => identifier
        ? ['mutation', 'revokeSession', identifier]
        : ['mutation', 'revokeSession'],
    /** Mutation key for verifyPassword */ verifyPassword: (identifier) => identifier
        ? ['mutation', 'verifyPassword', identifier]
        : ['mutation', 'verifyPassword'],
    /** Mutation key for verifyTotp */ verifyTotp: (identifier) => identifier
        ? ['mutation', 'verifyTotp', identifier]
        : ['mutation', 'verifyTotp'],
    /** Mutation key for confirmDeleteAccount */ confirmDeleteAccount: (identifier) => identifier
        ? ['mutation', 'confirmDeleteAccount', identifier]
        : ['mutation', 'confirmDeleteAccount'],
    /** Mutation key for setPassword */ setPassword: (identifier) => identifier
        ? ['mutation', 'setPassword', identifier]
        : ['mutation', 'setPassword'],
    /** Mutation key for verifyEmail */ verifyEmail: (identifier) => identifier
        ? ['mutation', 'verifyEmail', identifier]
        : ['mutation', 'verifyEmail'],
    /** Mutation key for provisionNewUser */ provisionNewUser: (identifier) => identifier
        ? ['mutation', 'provisionNewUser', identifier]
        : ['mutation', 'provisionNewUser'],
    /** Mutation key for resetPassword */ resetPassword: (identifier) => identifier
        ? ['mutation', 'resetPassword', identifier]
        : ['mutation', 'resetPassword'],
    /** Mutation key for signInCrossOrigin */ signInCrossOrigin: (identifier) => identifier
        ? ['mutation', 'signInCrossOrigin', identifier]
        : ['mutation', 'signInCrossOrigin'],
    /** Mutation key for signUp */ signUp: (identifier) => identifier ? ['mutation', 'signUp', identifier] : ['mutation', 'signUp'],
    /** Mutation key for requestCrossOriginToken */ requestCrossOriginToken: (identifier) => identifier
        ? ['mutation', 'requestCrossOriginToken', identifier]
        : ['mutation', 'requestCrossOriginToken'],
    /** Mutation key for signIn */ signIn: (identifier) => identifier ? ['mutation', 'signIn', identifier] : ['mutation', 'signIn'],
    /** Mutation key for extendTokenExpires */ extendTokenExpires: (identifier) => identifier
        ? ['mutation', 'extendTokenExpires', identifier]
        : ['mutation', 'extendTokenExpires'],
    /** Mutation key for createApiKey */ createApiKey: (identifier) => identifier
        ? ['mutation', 'createApiKey', identifier]
        : ['mutation', 'createApiKey'],
    /** Mutation key for forgotPassword */ forgotPassword: (identifier) => identifier
        ? ['mutation', 'forgotPassword', identifier]
        : ['mutation', 'forgotPassword'],
    /** Mutation key for sendVerificationEmail */ sendVerificationEmail: (identifier) => identifier
        ? ['mutation', 'sendVerificationEmail', identifier]
        : ['mutation', 'sendVerificationEmail'],
    /** Mutation key for requestUploadUrl */ requestUploadUrl: (identifier) => identifier
        ? ['mutation', 'requestUploadUrl', identifier]
        : ['mutation', 'requestUploadUrl'],
    /** Mutation key for confirmUpload */ confirmUpload: (identifier) => identifier
        ? ['mutation', 'confirmUpload', identifier]
        : ['mutation', 'confirmUpload'],
    /** Mutation key for provisionBucket */ provisionBucket: (identifier) => identifier
        ? ['mutation', 'provisionBucket', identifier]
        : ['mutation', 'provisionBucket'],
};
/**

// ============================================================================
// Unified Mutation Key Store
// ============================================================================

 * Unified mutation key store
 *
 * Use this for tracking in-flight mutations with useIsMutating.
 *
 * @example
 * ```ts
 * import { useIsMutating } from '@tanstack/react-query';
 * import { mutationKeys } from './generated';
 *
 * // Check if any user mutations are in progress
 * const isMutatingUser = useIsMutating({ mutationKey: mutationKeys.user.all });
 *
 * // Check if a specific user is being updated
 * const isUpdating = useIsMutating({ mutationKey: mutationKeys.user.update(userId) });
 * ```
 */
export const mutationKeys = {
    email: emailMutationKeys,
    phoneNumber: phoneNumberMutationKeys,
    cryptoAddress: cryptoAddressMutationKeys,
    webauthnCredential: webauthnCredentialMutationKeys,
    auditLog: auditLogMutationKeys,
    identityProvider: identityProviderMutationKeys,
    roleType: roleTypeMutationKeys,
    userConnectedAccount: userConnectedAccountMutationKeys,
    user: userMutationKeys,
    custom: customMutationKeys,
};
