import { QueryBuilder, buildCustomDocument } from '../query-builder';
import { connectionFieldsMap } from '../input-types';
export function createMutationOperations(client) {
    return {
        addEdge: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'AddEdge',
            fieldName: 'addEdge',
            ...buildCustomDocument('mutation', 'AddEdge', 'addEdge', options.select, args, [
                {
                    name: 'input',
                    type: 'AddEdgeInput!',
                },
            ], connectionFieldsMap, 'AddEdgePayload'),
        }),
        addEdgeAndSave: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'AddEdgeAndSave',
            fieldName: 'addEdgeAndSave',
            ...buildCustomDocument('mutation', 'AddEdgeAndSave', 'addEdgeAndSave', options.select, args, [
                {
                    name: 'input',
                    type: 'AddEdgeAndSaveInput!',
                },
            ], connectionFieldsMap, 'AddEdgeAndSavePayload'),
        }),
        addNode: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'AddNode',
            fieldName: 'addNode',
            ...buildCustomDocument('mutation', 'AddNode', 'addNode', options.select, args, [
                {
                    name: 'input',
                    type: 'AddNodeInput!',
                },
            ], connectionFieldsMap, 'AddNodePayload'),
        }),
        addNodeAndSave: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'AddNodeAndSave',
            fieldName: 'addNodeAndSave',
            ...buildCustomDocument('mutation', 'AddNodeAndSave', 'addNodeAndSave', options.select, args, [
                {
                    name: 'input',
                    type: 'AddNodeAndSaveInput!',
                },
            ], connectionFieldsMap, 'AddNodeAndSavePayload'),
        }),
        copyGraph: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'CopyGraph',
            fieldName: 'copyGraph',
            ...buildCustomDocument('mutation', 'CopyGraph', 'copyGraph', options.select, args, [
                {
                    name: 'input',
                    type: 'CopyGraphInput!',
                },
            ], connectionFieldsMap, 'CopyGraphPayload'),
        }),
        importDefinitions: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ImportDefinitions',
            fieldName: 'importDefinitions',
            ...buildCustomDocument('mutation', 'ImportDefinitions', 'importDefinitions', options.select, args, [
                {
                    name: 'input',
                    type: 'ImportDefinitionsInput!',
                },
            ], connectionFieldsMap, 'ImportDefinitionsPayload'),
        }),
        importGraphJson: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ImportGraphJson',
            fieldName: 'importGraphJson',
            ...buildCustomDocument('mutation', 'ImportGraphJson', 'importGraphJson', options.select, args, [
                {
                    name: 'input',
                    type: 'ImportGraphJsonInput!',
                },
            ], connectionFieldsMap, 'ImportGraphJsonPayload'),
        }),
        infraInitEmptyRepo: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InfraInitEmptyRepo',
            fieldName: 'infraInitEmptyRepo',
            ...buildCustomDocument('mutation', 'InfraInitEmptyRepo', 'infraInitEmptyRepo', options.select, args, [
                {
                    name: 'input',
                    type: 'InfraInitEmptyRepoInput!',
                },
            ], connectionFieldsMap, 'InfraInitEmptyRepoPayload'),
        }),
        infraInsertNodeAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InfraInsertNodeAtPath',
            fieldName: 'infraInsertNodeAtPath',
            ...buildCustomDocument('mutation', 'InfraInsertNodeAtPath', 'infraInsertNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'InfraInsertNodeAtPathInput!',
                },
            ], connectionFieldsMap, 'InfraInsertNodeAtPathPayload'),
        }),
        infraSetDataAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InfraSetDataAtPath',
            fieldName: 'infraSetDataAtPath',
            ...buildCustomDocument('mutation', 'InfraSetDataAtPath', 'infraSetDataAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'InfraSetDataAtPathInput!',
                },
            ], connectionFieldsMap, 'InfraSetDataAtPathPayload'),
        }),
        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'),
        }),
        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'),
        }),
        platformInfraInitEmptyRepo: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformInfraInitEmptyRepo',
            fieldName: 'platformInfraInitEmptyRepo',
            ...buildCustomDocument('mutation', 'PlatformInfraInitEmptyRepo', 'platformInfraInitEmptyRepo', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformInfraInitEmptyRepoInput!',
                },
            ], connectionFieldsMap, 'PlatformInfraInitEmptyRepoPayload'),
        }),
        platformInfraInsertNodeAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformInfraInsertNodeAtPath',
            fieldName: 'platformInfraInsertNodeAtPath',
            ...buildCustomDocument('mutation', 'PlatformInfraInsertNodeAtPath', 'platformInfraInsertNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformInfraInsertNodeAtPathInput!',
                },
            ], connectionFieldsMap, 'PlatformInfraInsertNodeAtPathPayload'),
        }),
        platformInfraSetDataAtPath: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformInfraSetDataAtPath',
            fieldName: 'platformInfraSetDataAtPath',
            ...buildCustomDocument('mutation', 'PlatformInfraSetDataAtPath', 'platformInfraSetDataAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformInfraSetDataAtPathInput!',
                },
            ], connectionFieldsMap, 'PlatformInfraSetDataAtPathPayload'),
        }),
        platformResourceInstallationsInstall: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformResourceInstallationsInstall',
            fieldName: 'platformResourceInstallationsInstall',
            ...buildCustomDocument('mutation', 'PlatformResourceInstallationsInstall', 'platformResourceInstallationsInstall', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformResourceInstallationsInstallInput!',
                },
            ], connectionFieldsMap, 'PlatformResourceInstallationsInstallPayload'),
        }),
        platformResourceInstallationsRollback: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformResourceInstallationsRollback',
            fieldName: 'platformResourceInstallationsRollback',
            ...buildCustomDocument('mutation', 'PlatformResourceInstallationsRollback', 'platformResourceInstallationsRollback', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformResourceInstallationsRollbackInput!',
                },
            ], connectionFieldsMap, 'PlatformResourceInstallationsRollbackPayload'),
        }),
        platformResourceInstallationsUninstall: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformResourceInstallationsUninstall',
            fieldName: 'platformResourceInstallationsUninstall',
            ...buildCustomDocument('mutation', 'PlatformResourceInstallationsUninstall', 'platformResourceInstallationsUninstall', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformResourceInstallationsUninstallInput!',
                },
            ], connectionFieldsMap, 'PlatformResourceInstallationsUninstallPayload'),
        }),
        platformResourceInstallationsUpgrade: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'PlatformResourceInstallationsUpgrade',
            fieldName: 'platformResourceInstallationsUpgrade',
            ...buildCustomDocument('mutation', 'PlatformResourceInstallationsUpgrade', 'platformResourceInstallationsUpgrade', options.select, args, [
                {
                    name: 'input',
                    type: 'PlatformResourceInstallationsUpgradeInput!',
                },
            ], connectionFieldsMap, 'PlatformResourceInstallationsUpgradePayload'),
        }),
        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'),
        }),
        resourceInstallationsInstall: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ResourceInstallationsInstall',
            fieldName: 'resourceInstallationsInstall',
            ...buildCustomDocument('mutation', 'ResourceInstallationsInstall', 'resourceInstallationsInstall', options.select, args, [
                {
                    name: 'input',
                    type: 'ResourceInstallationsInstallInput!',
                },
            ], connectionFieldsMap, 'ResourceInstallationsInstallPayload'),
        }),
        resourceInstallationsRollback: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ResourceInstallationsRollback',
            fieldName: 'resourceInstallationsRollback',
            ...buildCustomDocument('mutation', 'ResourceInstallationsRollback', 'resourceInstallationsRollback', options.select, args, [
                {
                    name: 'input',
                    type: 'ResourceInstallationsRollbackInput!',
                },
            ], connectionFieldsMap, 'ResourceInstallationsRollbackPayload'),
        }),
        resourceInstallationsUninstall: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ResourceInstallationsUninstall',
            fieldName: 'resourceInstallationsUninstall',
            ...buildCustomDocument('mutation', 'ResourceInstallationsUninstall', 'resourceInstallationsUninstall', options.select, args, [
                {
                    name: 'input',
                    type: 'ResourceInstallationsUninstallInput!',
                },
            ], connectionFieldsMap, 'ResourceInstallationsUninstallPayload'),
        }),
        resourceInstallationsUpgrade: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ResourceInstallationsUpgrade',
            fieldName: 'resourceInstallationsUpgrade',
            ...buildCustomDocument('mutation', 'ResourceInstallationsUpgrade', 'resourceInstallationsUpgrade', options.select, args, [
                {
                    name: 'input',
                    type: 'ResourceInstallationsUpgradeInput!',
                },
            ], connectionFieldsMap, 'ResourceInstallationsUpgradePayload'),
        }),
        saveGraph: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SaveGraph',
            fieldName: 'saveGraph',
            ...buildCustomDocument('mutation', 'SaveGraph', 'saveGraph', options.select, args, [
                {
                    name: 'input',
                    type: 'SaveGraphInput!',
                },
            ], connectionFieldsMap, 'SaveGraphPayload'),
        }),
        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'),
        }),
        startExecution: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'StartExecution',
            fieldName: 'startExecution',
            ...buildCustomDocument('mutation', 'StartExecution', 'startExecution', options.select, args, [
                {
                    name: 'input',
                    type: 'StartExecutionInput!',
                },
            ], connectionFieldsMap, 'StartExecutionPayload'),
        }),
        validateFunctionGraph: (args, options) => new QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ValidateFunctionGraph',
            fieldName: 'validateFunctionGraph',
            ...buildCustomDocument('mutation', 'ValidateFunctionGraph', 'validateFunctionGraph', options.select, args, [
                {
                    name: 'input',
                    type: 'ValidateFunctionGraphInput!',
                },
            ], connectionFieldsMap, 'ValidateFunctionGraphPayload'),
        }),
    };
}
