"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createQueryOperations = createQueryOperations;
const query_builder_1 = require("../query-builder");
const input_types_1 = require("../input-types");
function createQueryOperations(client) {
    return {
        currentUserAgent: (options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUserAgent',
            fieldName: 'currentUserAgent',
            ...(0, query_builder_1.buildCustomDocument)('query', 'CurrentUserAgent', 'currentUserAgent', options?.select, undefined, [], input_types_1.connectionFieldsMap, undefined),
        }),
        currentIpAddress: (options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentIpAddress',
            fieldName: 'currentIpAddress',
            ...(0, query_builder_1.buildCustomDocument)('query', 'CurrentIpAddress', 'currentIpAddress', options?.select, undefined, [], input_types_1.connectionFieldsMap, undefined),
        }),
        currentUserId: (options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUserId',
            fieldName: 'currentUserId',
            ...(0, query_builder_1.buildCustomDocument)('query', 'CurrentUserId', 'currentUserId', options?.select, undefined, [], input_types_1.connectionFieldsMap, undefined),
        }),
        requireStepUp: (args, options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'RequireStepUp',
            fieldName: 'requireStepUp',
            ...(0, query_builder_1.buildCustomDocument)('query', 'RequireStepUp', 'requireStepUp', options?.select, args, [
                {
                    name: 'stepUpType',
                    type: 'String',
                },
            ], input_types_1.connectionFieldsMap, undefined),
        }),
        currentUser: (options) => new query_builder_1.QueryBuilder({
            client,
            operation: 'query',
            operationName: 'CurrentUser',
            fieldName: 'currentUser',
            ...(0, query_builder_1.buildCustomDocument)('query', 'CurrentUser', 'currentUser', options.select, undefined, [], input_types_1.connectionFieldsMap, 'User'),
        }),
    };
}
