/**
 * 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 principalMutationKeys = {
    /** All principal mutation keys */ all: ['mutation', 'principal'],
    /** Create principal mutation key */ create: () => ['mutation', 'principal', 'create'],
    /** Update principal mutation key */ update: (id) => ['mutation', 'principal', 'update', id],
    /** Delete principal mutation key */ delete: (id) => ['mutation', 'principal', 'delete', id],
};
export const principalEntityMutationKeys = {
    /** All principalEntity mutation keys */ all: ['mutation', 'principalentity'],
    /** Create principalEntity mutation key */ create: () => ['mutation', 'principalentity', 'create'],
    /** Update principalEntity mutation key */ update: (id) => ['mutation', 'principalentity', 'update', id],
    /** Delete principalEntity mutation key */ delete: (id) => ['mutation', 'principalentity', 'delete', id],
};
export const principalScopeOverrideMutationKeys = {
    /** All principalScopeOverride mutation keys */ all: [
        'mutation',
        'principalscopeoverride',
    ],
    /** Create principalScopeOverride mutation key */ create: () => ['mutation', 'principalscopeoverride', 'create'],
    /** Update principalScopeOverride mutation key */ update: (id) => ['mutation', 'principalscopeoverride', 'update', id],
    /** Delete principalScopeOverride mutation key */ delete: (id) => ['mutation', 'principalscopeoverride', 'delete', id],
};
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 auditLogAuthMutationKeys = {
    /** All auditLogAuth mutation keys */ all: ['mutation', 'auditlogauth'],
    /** Create auditLogAuth mutation key */ create: () => ['mutation', 'auditlogauth', 'create'],
    /** Update auditLogAuth mutation key */ update: (id) => ['mutation', 'auditlogauth', 'update', id],
    /** Delete auditLogAuth mutation key */ delete: (id) => ['mutation', 'auditlogauth', '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 orgApiKeyListMutationKeys = {
    /** All orgApiKeyList mutation keys */ all: ['mutation', 'orgapikeylist'],
    /** Create orgApiKeyList mutation key */ create: () => ['mutation', 'orgapikeylist', 'create'],
    /** Update orgApiKeyList mutation key */ update: (id) => ['mutation', 'orgapikeylist', 'update', id],
    /** Delete orgApiKeyList mutation key */ delete: (id) => ['mutation', 'orgapikeylist', '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 deleteOrgPrincipal */ deleteOrgPrincipal: (identifier) => identifier
        ? ['mutation', 'deleteOrgPrincipal', identifier]
        : ['mutation', 'deleteOrgPrincipal'],
    /** Mutation key for deletePrincipal */ deletePrincipal: (identifier) => identifier
        ? ['mutation', 'deletePrincipal', identifier]
        : ['mutation', 'deletePrincipal'],
    /** 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 revokeOrgApiKey */ revokeOrgApiKey: (identifier) => identifier
        ? ['mutation', 'revokeOrgApiKey', identifier]
        : ['mutation', 'revokeOrgApiKey'],
    /** 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 createOrgPrincipal */ createOrgPrincipal: (identifier) => identifier
        ? ['mutation', 'createOrgPrincipal', identifier]
        : ['mutation', 'createOrgPrincipal'],
    /** Mutation key for signInCrossOrigin */ signInCrossOrigin: (identifier) => identifier
        ? ['mutation', 'signInCrossOrigin', identifier]
        : ['mutation', 'signInCrossOrigin'],
    /** Mutation key for signInSmsOtp */ signInSmsOtp: (identifier) => identifier
        ? ['mutation', 'signInSmsOtp', identifier]
        : ['mutation', 'signInSmsOtp'],
    /** Mutation key for signUpSms */ signUpSms: (identifier) => identifier
        ? ['mutation', 'signUpSms', identifier]
        : ['mutation', 'signUpSms'],
    /** Mutation key for signUp */ signUp: (identifier) => identifier ? ['mutation', 'signUp', identifier] : ['mutation', 'signUp'],
    /** Mutation key for signIn */ signIn: (identifier) => identifier ? ['mutation', 'signIn', identifier] : ['mutation', 'signIn'],
    /** Mutation key for linkIdentity */ linkIdentity: (identifier) => identifier
        ? ['mutation', 'linkIdentity', identifier]
        : ['mutation', 'linkIdentity'],
    /** Mutation key for extendTokenExpires */ extendTokenExpires: (identifier) => identifier
        ? ['mutation', 'extendTokenExpires', identifier]
        : ['mutation', 'extendTokenExpires'],
    /** Mutation key for createOrgApiKey */ createOrgApiKey: (identifier) => identifier
        ? ['mutation', 'createOrgApiKey', identifier]
        : ['mutation', 'createOrgApiKey'],
    /** Mutation key for createApiKey */ createApiKey: (identifier) => identifier
        ? ['mutation', 'createApiKey', identifier]
        : ['mutation', 'createApiKey'],
    /** Mutation key for requestCrossOriginToken */ requestCrossOriginToken: (identifier) => identifier
        ? ['mutation', 'requestCrossOriginToken', identifier]
        : ['mutation', 'requestCrossOriginToken'],
    /** 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 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 = {
    principal: principalMutationKeys,
    principalEntity: principalEntityMutationKeys,
    principalScopeOverride: principalScopeOverrideMutationKeys,
    email: emailMutationKeys,
    phoneNumber: phoneNumberMutationKeys,
    cryptoAddress: cryptoAddressMutationKeys,
    webauthnCredential: webauthnCredentialMutationKeys,
    auditLogAuth: auditLogAuthMutationKeys,
    identityProvider: identityProviderMutationKeys,
    roleType: roleTypeMutationKeys,
    userConnectedAccount: userConnectedAccountMutationKeys,
    orgApiKeyList: orgApiKeyListMutationKeys,
    user: userMutationKeys,
    custom: customMutationKeys,
};
