"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMutationOperations = createMutationOperations;
const query_builder_1 = require("../query-builder");
const input_types_1 = require("../input-types");
function createMutationOperations(client) {
    return {
        freezeObjects: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'FreezeObjects',
            fieldName: 'freezeObjects',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'FreezeObjects', 'freezeObjects', options.select, args, [
                {
                    name: 'input',
                    type: 'FreezeObjectsInput!',
                },
            ], input_types_1.connectionFieldsMap, 'FreezeObjectsPayload'),
        }),
        initEmptyRepo: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InitEmptyRepo',
            fieldName: 'initEmptyRepo',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'InitEmptyRepo', 'initEmptyRepo', options.select, args, [
                {
                    name: 'input',
                    type: 'InitEmptyRepoInput!',
                },
            ], input_types_1.connectionFieldsMap, 'InitEmptyRepoPayload'),
        }),
        removeNodeAtPath: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RemoveNodeAtPath',
            fieldName: 'removeNodeAtPath',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'RemoveNodeAtPath', 'removeNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'RemoveNodeAtPathInput!',
                },
            ], input_types_1.connectionFieldsMap, 'RemoveNodeAtPathPayload'),
        }),
        setDataAtPath: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetDataAtPath',
            fieldName: 'setDataAtPath',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'SetDataAtPath', 'setDataAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'SetDataAtPathInput!',
                },
            ], input_types_1.connectionFieldsMap, 'SetDataAtPathPayload'),
        }),
        setPropsAndCommit: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetPropsAndCommit',
            fieldName: 'setPropsAndCommit',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'SetPropsAndCommit', 'setPropsAndCommit', options.select, args, [
                {
                    name: 'input',
                    type: 'SetPropsAndCommitInput!',
                },
            ], input_types_1.connectionFieldsMap, 'SetPropsAndCommitPayload'),
        }),
        insertNodeAtPath: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'InsertNodeAtPath',
            fieldName: 'insertNodeAtPath',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'InsertNodeAtPath', 'insertNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'InsertNodeAtPathInput!',
                },
            ], input_types_1.connectionFieldsMap, 'InsertNodeAtPathPayload'),
        }),
        updateNodeAtPath: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'UpdateNodeAtPath',
            fieldName: 'updateNodeAtPath',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'UpdateNodeAtPath', 'updateNodeAtPath', options.select, args, [
                {
                    name: 'input',
                    type: 'UpdateNodeAtPathInput!',
                },
            ], input_types_1.connectionFieldsMap, 'UpdateNodeAtPathPayload'),
        }),
        setAndCommit: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'SetAndCommit',
            fieldName: 'setAndCommit',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'SetAndCommit', 'setAndCommit', options.select, args, [
                {
                    name: 'input',
                    type: 'SetAndCommitInput!',
                },
            ], input_types_1.connectionFieldsMap, 'SetAndCommitPayload'),
        }),
        requestUploadUrl: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'RequestUploadUrl',
            fieldName: 'requestUploadUrl',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'RequestUploadUrl', 'requestUploadUrl', options.select, args, [
                {
                    name: 'input',
                    type: 'RequestUploadUrlInput!',
                },
            ], input_types_1.connectionFieldsMap, 'RequestUploadUrlPayload'),
        }),
        provisionBucket: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'mutation',
            operationName: 'ProvisionBucket',
            fieldName: 'provisionBucket',
            ...(0, query_builder_1.buildCustomDocument)('mutation', 'ProvisionBucket', 'provisionBucket', options.select, args, [
                {
                    name: 'input',
                    type: 'ProvisionBucketInput!',
                },
            ], input_types_1.connectionFieldsMap, 'ProvisionBucketPayload'),
        }),
    };
}
