import { QueryBuilder, buildCustomDocument } from '../query-builder';
import { connectionFieldsMap } from '../input-types';
export function createMutationOperations(client) {
    return {
        sendAccountDeletionEmail: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SendAccountDeletionEmail',
            fieldName: 'sendAccountDeletionEmail',
            ...buildCustomDocument('mutation', 'SendAccountDeletionEmail', 'sendAccountDeletionEmail', options.select, args, [
                {
                    name: 'input',
                    type: 'SendAccountDeletionEmailInput!',
                },
            ], connectionFieldsMap, 'SendAccountDeletionEmailPayload'),
        }),
        signOut: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SignOut',
            fieldName: 'signOut',
            ...buildCustomDocument('mutation', 'SignOut', 'signOut', options.select, args, [
                {
                    name: 'input',
                    type: 'SignOutInput!',
                },
            ], connectionFieldsMap, 'SignOutPayload'),
        }),
        acceptDatabaseTransfer: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'AcceptDatabaseTransfer',
            fieldName: 'acceptDatabaseTransfer',
            ...buildCustomDocument('mutation', 'AcceptDatabaseTransfer', 'acceptDatabaseTransfer', options.select, args, [
                {
                    name: 'input',
                    type: 'AcceptDatabaseTransferInput!',
                },
            ], connectionFieldsMap, 'AcceptDatabaseTransferPayload'),
        }),
        cancelDatabaseTransfer: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CancelDatabaseTransfer',
            fieldName: 'cancelDatabaseTransfer',
            ...buildCustomDocument('mutation', 'CancelDatabaseTransfer', 'cancelDatabaseTransfer', options.select, args, [
                {
                    name: 'input',
                    type: 'CancelDatabaseTransferInput!',
                },
            ], connectionFieldsMap, 'CancelDatabaseTransferPayload'),
        }),
        rejectDatabaseTransfer: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RejectDatabaseTransfer',
            fieldName: 'rejectDatabaseTransfer',
            ...buildCustomDocument('mutation', 'RejectDatabaseTransfer', 'rejectDatabaseTransfer', options.select, args, [
                {
                    name: 'input',
                    type: 'RejectDatabaseTransferInput!',
                },
            ], connectionFieldsMap, 'RejectDatabaseTransferPayload'),
        }),
        disconnectAccount: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'DisconnectAccount',
            fieldName: 'disconnectAccount',
            ...buildCustomDocument('mutation', 'DisconnectAccount', 'disconnectAccount', options.select, args, [
                {
                    name: 'input',
                    type: 'DisconnectAccountInput!',
                },
            ], connectionFieldsMap, 'DisconnectAccountPayload'),
        }),
        revokeApiKey: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RevokeApiKey',
            fieldName: 'revokeApiKey',
            ...buildCustomDocument('mutation', 'RevokeApiKey', 'revokeApiKey', options.select, args, [
                {
                    name: 'input',
                    type: 'RevokeApiKeyInput!',
                },
            ], connectionFieldsMap, 'RevokeApiKeyPayload'),
        }),
        revokeSession: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RevokeSession',
            fieldName: 'revokeSession',
            ...buildCustomDocument('mutation', 'RevokeSession', 'revokeSession', options.select, args, [
                {
                    name: 'input',
                    type: 'RevokeSessionInput!',
                },
            ], connectionFieldsMap, 'RevokeSessionPayload'),
        }),
        verifyPassword: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'VerifyPassword',
            fieldName: 'verifyPassword',
            ...buildCustomDocument('mutation', 'VerifyPassword', 'verifyPassword', options.select, args, [
                {
                    name: 'input',
                    type: 'VerifyPasswordInput!',
                },
            ], connectionFieldsMap, 'VerifyPasswordPayload'),
        }),
        verifyTotp: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'VerifyTotp',
            fieldName: 'verifyTotp',
            ...buildCustomDocument('mutation', 'VerifyTotp', 'verifyTotp', options.select, args, [
                {
                    name: 'input',
                    type: 'VerifyTotpInput!',
                },
            ], connectionFieldsMap, 'VerifyTotpPayload'),
        }),
        submitAppInviteCode: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SubmitAppInviteCode',
            fieldName: 'submitAppInviteCode',
            ...buildCustomDocument('mutation', 'SubmitAppInviteCode', 'submitAppInviteCode', options.select, args, [
                {
                    name: 'input',
                    type: 'SubmitAppInviteCodeInput!',
                },
            ], connectionFieldsMap, 'SubmitAppInviteCodePayload'),
        }),
        submitOrgInviteCode: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SubmitOrgInviteCode',
            fieldName: 'submitOrgInviteCode',
            ...buildCustomDocument('mutation', 'SubmitOrgInviteCode', 'submitOrgInviteCode', options.select, args, [
                {
                    name: 'input',
                    type: 'SubmitOrgInviteCodeInput!',
                },
            ], connectionFieldsMap, 'SubmitOrgInviteCodePayload'),
        }),
        checkPassword: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CheckPassword',
            fieldName: 'checkPassword',
            ...buildCustomDocument('mutation', 'CheckPassword', 'checkPassword', options.select, args, [
                {
                    name: 'input',
                    type: 'CheckPasswordInput!',
                },
            ], connectionFieldsMap, 'CheckPasswordPayload'),
        }),
        confirmDeleteAccount: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ConfirmDeleteAccount',
            fieldName: 'confirmDeleteAccount',
            ...buildCustomDocument('mutation', 'ConfirmDeleteAccount', 'confirmDeleteAccount', options.select, args, [
                {
                    name: 'input',
                    type: 'ConfirmDeleteAccountInput!',
                },
            ], connectionFieldsMap, 'ConfirmDeleteAccountPayload'),
        }),
        setPassword: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetPassword',
            fieldName: 'setPassword',
            ...buildCustomDocument('mutation', 'SetPassword', 'setPassword', options.select, args, [
                {
                    name: 'input',
                    type: 'SetPasswordInput!',
                },
            ], connectionFieldsMap, 'SetPasswordPayload'),
        }),
        verifyEmail: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'VerifyEmail',
            fieldName: 'verifyEmail',
            ...buildCustomDocument('mutation', 'VerifyEmail', 'verifyEmail', options.select, args, [
                {
                    name: 'input',
                    type: 'VerifyEmailInput!',
                },
            ], connectionFieldsMap, 'VerifyEmailPayload'),
        }),
        freezeObjects: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'FreezeObjects',
            fieldName: 'freezeObjects',
            ...buildCustomDocument('mutation', 'FreezeObjects', 'freezeObjects', options.select, args, [
                {
                    name: 'input',
                    type: 'FreezeObjectsInput!',
                },
            ], connectionFieldsMap, 'FreezeObjectsPayload'),
        }),
        initEmptyRepo: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InitEmptyRepo',
            fieldName: 'initEmptyRepo',
            ...buildCustomDocument('mutation', 'InitEmptyRepo', 'initEmptyRepo', options.select, args, [
                {
                    name: 'input',
                    type: 'InitEmptyRepoInput!',
                },
            ], connectionFieldsMap, 'InitEmptyRepoPayload'),
        }),
        constructBlueprint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ConstructBlueprint',
            fieldName: 'constructBlueprint',
            ...buildCustomDocument('mutation', 'ConstructBlueprint', 'constructBlueprint', options.select, args, [
                {
                    name: 'input',
                    type: 'ConstructBlueprintInput!',
                },
            ], connectionFieldsMap, 'ConstructBlueprintPayload'),
        }),
        provisionNewUser: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionNewUser',
            fieldName: 'provisionNewUser',
            ...buildCustomDocument('mutation', 'ProvisionNewUser', 'provisionNewUser', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionNewUserInput!',
                },
            ], connectionFieldsMap, 'ProvisionNewUserPayload'),
        }),
        resetPassword: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ResetPassword',
            fieldName: 'resetPassword',
            ...buildCustomDocument('mutation', 'ResetPassword', 'resetPassword', options.select, args, [
                {
                    name: 'input',
                    type: 'ResetPasswordInput!',
                },
            ], connectionFieldsMap, 'ResetPasswordPayload'),
        }),
        removeNodeAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RemoveNodeAtPath',
            fieldName: 'removeNodeAtPath',
            ...buildCustomDocument('mutation', 'RemoveNodeAtPath', 'removeNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'RemoveNodeAtPathInput!',
                },
            ], connectionFieldsMap, 'RemoveNodeAtPathPayload'),
        }),
        copyTemplateToBlueprint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CopyTemplateToBlueprint',
            fieldName: 'copyTemplateToBlueprint',
            ...buildCustomDocument('mutation', 'CopyTemplateToBlueprint', 'copyTemplateToBlueprint', options.select, args, [
                {
                    name: 'input',
                    type: 'CopyTemplateToBlueprintInput!',
                },
            ], connectionFieldsMap, 'CopyTemplateToBlueprintPayload'),
        }),
        provisionSpatialRelation: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionSpatialRelation',
            fieldName: 'provisionSpatialRelation',
            ...buildCustomDocument('mutation', 'ProvisionSpatialRelation', 'provisionSpatialRelation', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionSpatialRelationInput!',
                },
            ], connectionFieldsMap, 'ProvisionSpatialRelationPayload'),
        }),
        bootstrapUser: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'BootstrapUser',
            fieldName: 'bootstrapUser',
            ...buildCustomDocument('mutation', 'BootstrapUser', 'bootstrapUser', options.select, args, [
                {
                    name: 'input',
                    type: 'BootstrapUserInput!',
                },
            ], connectionFieldsMap, 'BootstrapUserPayload'),
        }),
        setFieldOrder: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetFieldOrder',
            fieldName: 'setFieldOrder',
            ...buildCustomDocument('mutation', 'SetFieldOrder', 'setFieldOrder', options.select, args, [
                {
                    name: 'input',
                    type: 'SetFieldOrderInput!',
                },
            ], connectionFieldsMap, 'SetFieldOrderPayload'),
        }),
        provisionUniqueConstraint: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionUniqueConstraint',
            fieldName: 'provisionUniqueConstraint',
            ...buildCustomDocument('mutation', 'ProvisionUniqueConstraint', 'provisionUniqueConstraint', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionUniqueConstraintInput!',
                },
            ], connectionFieldsMap, 'ProvisionUniqueConstraintPayload'),
        }),
        provisionFullTextSearch: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionFullTextSearch',
            fieldName: 'provisionFullTextSearch',
            ...buildCustomDocument('mutation', 'ProvisionFullTextSearch', 'provisionFullTextSearch', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionFullTextSearchInput!',
                },
            ], connectionFieldsMap, 'ProvisionFullTextSearchPayload'),
        }),
        provisionIndex: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionIndex',
            fieldName: 'provisionIndex',
            ...buildCustomDocument('mutation', 'ProvisionIndex', 'provisionIndex', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionIndexInput!',
                },
            ], connectionFieldsMap, 'ProvisionIndexPayload'),
        }),
        setDataAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetDataAtPath',
            fieldName: 'setDataAtPath',
            ...buildCustomDocument('mutation', 'SetDataAtPath', 'setDataAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'SetDataAtPathInput!',
                },
            ], connectionFieldsMap, 'SetDataAtPathPayload'),
        }),
        setPropsAndCommit: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetPropsAndCommit',
            fieldName: 'setPropsAndCommit',
            ...buildCustomDocument('mutation', 'SetPropsAndCommit', 'setPropsAndCommit', options.select, args, [
                {
                    name: 'input',
                    type: 'SetPropsAndCommitInput!',
                },
            ], connectionFieldsMap, 'SetPropsAndCommitPayload'),
        }),
        provisionDatabaseWithUser: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionDatabaseWithUser',
            fieldName: 'provisionDatabaseWithUser',
            ...buildCustomDocument('mutation', 'ProvisionDatabaseWithUser', 'provisionDatabaseWithUser', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionDatabaseWithUserInput!',
                },
            ], connectionFieldsMap, 'ProvisionDatabaseWithUserPayload'),
        }),
        insertNodeAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InsertNodeAtPath',
            fieldName: 'insertNodeAtPath',
            ...buildCustomDocument('mutation', 'InsertNodeAtPath', 'insertNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'InsertNodeAtPathInput!',
                },
            ], connectionFieldsMap, 'InsertNodeAtPathPayload'),
        }),
        updateNodeAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'UpdateNodeAtPath',
            fieldName: 'updateNodeAtPath',
            ...buildCustomDocument('mutation', 'UpdateNodeAtPath', 'updateNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'UpdateNodeAtPathInput!',
                },
            ], connectionFieldsMap, 'UpdateNodeAtPathPayload'),
        }),
        setAndCommit: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetAndCommit',
            fieldName: 'setAndCommit',
            ...buildCustomDocument('mutation', 'SetAndCommit', 'setAndCommit', options.select, args, [
                {
                    name: 'input',
                    type: 'SetAndCommitInput!',
                },
            ], connectionFieldsMap, 'SetAndCommitPayload'),
        }),
        provisionRelation: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionRelation',
            fieldName: 'provisionRelation',
            ...buildCustomDocument('mutation', 'ProvisionRelation', 'provisionRelation', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionRelationInput!',
                },
            ], connectionFieldsMap, 'ProvisionRelationPayload'),
        }),
        applyRls: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ApplyRls',
            fieldName: 'applyRls',
            ...buildCustomDocument('mutation', 'ApplyRls', 'applyRls', options.select, args, [
                {
                    name: 'input',
                    type: 'ApplyRlsInput!',
                },
            ], connectionFieldsMap, 'ApplyRlsPayload'),
        }),
        signInCrossOrigin: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SignInCrossOrigin',
            fieldName: 'signInCrossOrigin',
            ...buildCustomDocument('mutation', 'SignInCrossOrigin', 'signInCrossOrigin', options.select, args, [
                {
                    name: 'input',
                    type: 'SignInCrossOriginInput!',
                },
            ], connectionFieldsMap, 'SignInCrossOriginPayload'),
        }),
        createUserDatabase: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CreateUserDatabase',
            fieldName: 'createUserDatabase',
            ...buildCustomDocument('mutation', 'CreateUserDatabase', 'createUserDatabase', options.select, args, [
                {
                    name: 'input',
                    type: 'CreateUserDatabaseInput!',
                },
            ], connectionFieldsMap, 'CreateUserDatabasePayload'),
        }),
        extendTokenExpires: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ExtendTokenExpires',
            fieldName: 'extendTokenExpires',
            ...buildCustomDocument('mutation', 'ExtendTokenExpires', 'extendTokenExpires', options.select, args, [
                {
                    name: 'input',
                    type: 'ExtendTokenExpiresInput!',
                },
            ], connectionFieldsMap, 'ExtendTokenExpiresPayload'),
        }),
        createApiKey: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CreateApiKey',
            fieldName: 'createApiKey',
            ...buildCustomDocument('mutation', 'CreateApiKey', 'createApiKey', options.select, args, [
                {
                    name: 'input',
                    type: 'CreateApiKeyInput!',
                },
            ], connectionFieldsMap, 'CreateApiKeyPayload'),
        }),
        signUp: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SignUp',
            fieldName: 'signUp',
            ...buildCustomDocument('mutation', 'SignUp', 'signUp', options.select, args, [
                {
                    name: 'input',
                    type: 'SignUpInput!',
                },
            ], connectionFieldsMap, 'SignUpPayload'),
        }),
        requestCrossOriginToken: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RequestCrossOriginToken',
            fieldName: 'requestCrossOriginToken',
            ...buildCustomDocument('mutation', 'RequestCrossOriginToken', 'requestCrossOriginToken', options.select, args, [
                {
                    name: 'input',
                    type: 'RequestCrossOriginTokenInput!',
                },
            ], connectionFieldsMap, 'RequestCrossOriginTokenPayload'),
        }),
        signIn: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SignIn',
            fieldName: 'signIn',
            ...buildCustomDocument('mutation', 'SignIn', 'signIn', options.select, args, [
                {
                    name: 'input',
                    type: 'SignInInput!',
                },
            ], connectionFieldsMap, 'SignInPayload'),
        }),
        provisionTable: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionTable',
            fieldName: 'provisionTable',
            ...buildCustomDocument('mutation', 'ProvisionTable', 'provisionTable', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionTableInput!',
                },
            ], connectionFieldsMap, 'ProvisionTablePayload'),
        }),
        sendVerificationEmail: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SendVerificationEmail',
            fieldName: 'sendVerificationEmail',
            ...buildCustomDocument('mutation', 'SendVerificationEmail', 'sendVerificationEmail', options.select, args, [
                {
                    name: 'input',
                    type: 'SendVerificationEmailInput!',
                },
            ], connectionFieldsMap, 'SendVerificationEmailPayload'),
        }),
        forgotPassword: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ForgotPassword',
            fieldName: 'forgotPassword',
            ...buildCustomDocument('mutation', 'ForgotPassword', 'forgotPassword', options.select, args, [
                {
                    name: 'input',
                    type: 'ForgotPasswordInput!',
                },
            ], connectionFieldsMap, 'ForgotPasswordPayload'),
        }),
        requestUploadUrl: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RequestUploadUrl',
            fieldName: 'requestUploadUrl',
            ...buildCustomDocument('mutation', 'RequestUploadUrl', 'requestUploadUrl', options.select, args, [
                {
                    name: 'input',
                    type: 'RequestUploadUrlInput!',
                },
            ], connectionFieldsMap, 'RequestUploadUrlPayload'),
        }),
        confirmUpload: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ConfirmUpload',
            fieldName: 'confirmUpload',
            ...buildCustomDocument('mutation', 'ConfirmUpload', 'confirmUpload', options.select, args, [
                {
                    name: 'input',
                    type: 'ConfirmUploadInput!',
                },
            ], connectionFieldsMap, 'ConfirmUploadPayload'),
        }),
        provisionBucket: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionBucket',
            fieldName: 'provisionBucket',
            ...buildCustomDocument('mutation', 'ProvisionBucket', 'provisionBucket', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionBucketInput!',
                },
            ], connectionFieldsMap, 'ProvisionBucketPayload'),
        }),
    };
}
