"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMutationOperations = exports.createQueryOperations = exports.QueryBuilder = exports.FetchAdapter = exports.GraphQLRequestError = void 0;
exports.createClient = createClient;
/**
 * ORM Client - createClient factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
const client_1 = require("./client");
const dbPreset_1 = require("./models/dbPreset");
const declaredCapacity_1 = require("./models/declaredCapacity");
const functionApiBinding_1 = require("./models/functionApiBinding");
const functionDefinition_1 = require("./models/functionDefinition");
const functionDeployment_1 = require("./models/functionDeployment");
const functionDeploymentEvent_1 = require("./models/functionDeploymentEvent");
const functionExecutionLog_1 = require("./models/functionExecutionLog");
const functionGraphCommit_1 = require("./models/functionGraphCommit");
const functionGraph_1 = require("./models/functionGraph");
const functionGraphExecution_1 = require("./models/functionGraphExecution");
const functionGraphExecutionNodeState_1 = require("./models/functionGraphExecutionNodeState");
const functionGraphExecutionOutput_1 = require("./models/functionGraphExecutionOutput");
const functionGraphObject_1 = require("./models/functionGraphObject");
const functionGraphRef_1 = require("./models/functionGraphRef");
const functionGraphStore_1 = require("./models/functionGraphStore");
const functionInvocation_1 = require("./models/functionInvocation");
const getAllTreeNodesRecord_1 = require("./models/getAllTreeNodesRecord");
const infraCommit_1 = require("./models/infraCommit");
const infraGetAllTreeNodesRecord_1 = require("./models/infraGetAllTreeNodesRecord");
const infraObject_1 = require("./models/infraObject");
const infraRef_1 = require("./models/infraRef");
const infraStore_1 = require("./models/infraStore");
const integrationProvider_1 = require("./models/integrationProvider");
const namespace_1 = require("./models/namespace");
const namespaceEvent_1 = require("./models/namespaceEvent");
const platformDeclaredCapacity_1 = require("./models/platformDeclaredCapacity");
const platformFunctionApiBinding_1 = require("./models/platformFunctionApiBinding");
const platformFunctionDefinition_1 = require("./models/platformFunctionDefinition");
const platformFunctionDeployment_1 = require("./models/platformFunctionDeployment");
const platformFunctionDeploymentEvent_1 = require("./models/platformFunctionDeploymentEvent");
const platformFunctionExecutionLog_1 = require("./models/platformFunctionExecutionLog");
const platformFunctionInvocation_1 = require("./models/platformFunctionInvocation");
const platformInfraCommit_1 = require("./models/platformInfraCommit");
const platformInfraGetAllTreeNodesRecord_1 = require("./models/platformInfraGetAllTreeNodesRecord");
const platformInfraObject_1 = require("./models/platformInfraObject");
const platformInfraRef_1 = require("./models/platformInfraRef");
const platformInfraStore_1 = require("./models/platformInfraStore");
const platformNamespace_1 = require("./models/platformNamespace");
const platformNamespaceEvent_1 = require("./models/platformNamespaceEvent");
const platformResource_1 = require("./models/platformResource");
const platformResourceDefinition_1 = require("./models/platformResourceDefinition");
const platformResourceEvent_1 = require("./models/platformResourceEvent");
const platformResourceInstallation_1 = require("./models/platformResourceInstallation");
const platformResourceStatusCheck_1 = require("./models/platformResourceStatusCheck");
const platformResourceUsageLog_1 = require("./models/platformResourceUsageLog");
const platformResourceUsageSummary_1 = require("./models/platformResourceUsageSummary");
const platformResourceUtilizationDaily_1 = require("./models/platformResourceUtilizationDaily");
const platformResourcesHealth_1 = require("./models/platformResourcesHealth");
const platformResourcesRequirementsState_1 = require("./models/platformResourcesRequirementsState");
const platformResourcesResolvedRequirement_1 = require("./models/platformResourcesResolvedRequirement");
const platformWebhookEndpoint_1 = require("./models/platformWebhookEndpoint");
const platformWebhookEvent_1 = require("./models/platformWebhookEvent");
const resource_1 = require("./models/resource");
const resourceDefinition_1 = require("./models/resourceDefinition");
const resourceEvent_1 = require("./models/resourceEvent");
const resourceInstallation_1 = require("./models/resourceInstallation");
const resourceStatusCheck_1 = require("./models/resourceStatusCheck");
const resourceUsageLog_1 = require("./models/resourceUsageLog");
const resourceUsageSummary_1 = require("./models/resourceUsageSummary");
const resourceUtilizationDaily_1 = require("./models/resourceUtilizationDaily");
const resourcesHealth_1 = require("./models/resourcesHealth");
const resourcesRequirementsState_1 = require("./models/resourcesRequirementsState");
const resourcesResolvedRequirement_1 = require("./models/resourcesResolvedRequirement");
const webhookEndpoint_1 = require("./models/webhookEndpoint");
const webhookEvent_1 = require("./models/webhookEvent");
const query_1 = require("./query");
const mutation_1 = require("./mutation");
var client_2 = require("./client");
Object.defineProperty(exports, "GraphQLRequestError", { enumerable: true, get: function () { return client_2.GraphQLRequestError; } });
Object.defineProperty(exports, "FetchAdapter", { enumerable: true, get: function () { return client_2.FetchAdapter; } });
var query_builder_1 = require("./query-builder");
Object.defineProperty(exports, "QueryBuilder", { enumerable: true, get: function () { return query_builder_1.QueryBuilder; } });
__exportStar(require("./select-types"), exports);
__exportStar(require("./models"), exports);
var query_2 = require("./query");
Object.defineProperty(exports, "createQueryOperations", { enumerable: true, get: function () { return query_2.createQueryOperations; } });
var mutation_2 = require("./mutation");
Object.defineProperty(exports, "createMutationOperations", { enumerable: true, get: function () { return mutation_2.createMutationOperations; } });
/**
 * Create an ORM client instance
 *
 * @example
 * ```typescript
 * const db = createClient({
 *   endpoint: 'https://api.example.com/graphql',
 *   headers: { Authorization: 'Bearer token' },
 * });
 *
 * // Query users
 * const users = await db.user.findMany({
 *   select: { id: true, name: true },
 *   first: 10,
 * }).execute();
 *
 * // Create a user
 * const newUser = await db.user.create({
 *   data: { name: 'John', email: 'john@example.com' },
 *   select: { id: true },
 * }).execute();
 * ```
 */
function createClient(config) {
    const client = new client_1.OrmClient(config);
    return {
        dbPreset: new dbPreset_1.DbPresetModel(client),
        declaredCapacity: new declaredCapacity_1.DeclaredCapacityModel(client),
        functionApiBinding: new functionApiBinding_1.FunctionApiBindingModel(client),
        functionDefinition: new functionDefinition_1.FunctionDefinitionModel(client),
        functionDeployment: new functionDeployment_1.FunctionDeploymentModel(client),
        functionDeploymentEvent: new functionDeploymentEvent_1.FunctionDeploymentEventModel(client),
        functionExecutionLog: new functionExecutionLog_1.FunctionExecutionLogModel(client),
        functionGraphCommit: new functionGraphCommit_1.FunctionGraphCommitModel(client),
        functionGraph: new functionGraph_1.FunctionGraphModel(client),
        functionGraphExecution: new functionGraphExecution_1.FunctionGraphExecutionModel(client),
        functionGraphExecutionNodeState: new functionGraphExecutionNodeState_1.FunctionGraphExecutionNodeStateModel(client),
        functionGraphExecutionOutput: new functionGraphExecutionOutput_1.FunctionGraphExecutionOutputModel(client),
        functionGraphObject: new functionGraphObject_1.FunctionGraphObjectModel(client),
        functionGraphRef: new functionGraphRef_1.FunctionGraphRefModel(client),
        functionGraphStore: new functionGraphStore_1.FunctionGraphStoreModel(client),
        functionInvocation: new functionInvocation_1.FunctionInvocationModel(client),
        getAllTreeNodesRecord: new getAllTreeNodesRecord_1.GetAllTreeNodesRecordModel(client),
        infraCommit: new infraCommit_1.InfraCommitModel(client),
        infraGetAllTreeNodesRecord: new infraGetAllTreeNodesRecord_1.InfraGetAllTreeNodesRecordModel(client),
        infraObject: new infraObject_1.InfraObjectModel(client),
        infraRef: new infraRef_1.InfraRefModel(client),
        infraStore: new infraStore_1.InfraStoreModel(client),
        integrationProvider: new integrationProvider_1.IntegrationProviderModel(client),
        namespace: new namespace_1.NamespaceModel(client),
        namespaceEvent: new namespaceEvent_1.NamespaceEventModel(client),
        platformDeclaredCapacity: new platformDeclaredCapacity_1.PlatformDeclaredCapacityModel(client),
        platformFunctionApiBinding: new platformFunctionApiBinding_1.PlatformFunctionApiBindingModel(client),
        platformFunctionDefinition: new platformFunctionDefinition_1.PlatformFunctionDefinitionModel(client),
        platformFunctionDeployment: new platformFunctionDeployment_1.PlatformFunctionDeploymentModel(client),
        platformFunctionDeploymentEvent: new platformFunctionDeploymentEvent_1.PlatformFunctionDeploymentEventModel(client),
        platformFunctionExecutionLog: new platformFunctionExecutionLog_1.PlatformFunctionExecutionLogModel(client),
        platformFunctionInvocation: new platformFunctionInvocation_1.PlatformFunctionInvocationModel(client),
        platformInfraCommit: new platformInfraCommit_1.PlatformInfraCommitModel(client),
        platformInfraGetAllTreeNodesRecord: new platformInfraGetAllTreeNodesRecord_1.PlatformInfraGetAllTreeNodesRecordModel(client),
        platformInfraObject: new platformInfraObject_1.PlatformInfraObjectModel(client),
        platformInfraRef: new platformInfraRef_1.PlatformInfraRefModel(client),
        platformInfraStore: new platformInfraStore_1.PlatformInfraStoreModel(client),
        platformNamespace: new platformNamespace_1.PlatformNamespaceModel(client),
        platformNamespaceEvent: new platformNamespaceEvent_1.PlatformNamespaceEventModel(client),
        platformResource: new platformResource_1.PlatformResourceModel(client),
        platformResourceDefinition: new platformResourceDefinition_1.PlatformResourceDefinitionModel(client),
        platformResourceEvent: new platformResourceEvent_1.PlatformResourceEventModel(client),
        platformResourceInstallation: new platformResourceInstallation_1.PlatformResourceInstallationModel(client),
        platformResourceStatusCheck: new platformResourceStatusCheck_1.PlatformResourceStatusCheckModel(client),
        platformResourceUsageLog: new platformResourceUsageLog_1.PlatformResourceUsageLogModel(client),
        platformResourceUsageSummary: new platformResourceUsageSummary_1.PlatformResourceUsageSummaryModel(client),
        platformResourceUtilizationDaily: new platformResourceUtilizationDaily_1.PlatformResourceUtilizationDailyModel(client),
        platformResourcesHealth: new platformResourcesHealth_1.PlatformResourcesHealthModel(client),
        platformResourcesRequirementsState: new platformResourcesRequirementsState_1.PlatformResourcesRequirementsStateModel(client),
        platformResourcesResolvedRequirement: new platformResourcesResolvedRequirement_1.PlatformResourcesResolvedRequirementModel(client),
        platformWebhookEndpoint: new platformWebhookEndpoint_1.PlatformWebhookEndpointModel(client),
        platformWebhookEvent: new platformWebhookEvent_1.PlatformWebhookEventModel(client),
        resource: new resource_1.ResourceModel(client),
        resourceDefinition: new resourceDefinition_1.ResourceDefinitionModel(client),
        resourceEvent: new resourceEvent_1.ResourceEventModel(client),
        resourceInstallation: new resourceInstallation_1.ResourceInstallationModel(client),
        resourceStatusCheck: new resourceStatusCheck_1.ResourceStatusCheckModel(client),
        resourceUsageLog: new resourceUsageLog_1.ResourceUsageLogModel(client),
        resourceUsageSummary: new resourceUsageSummary_1.ResourceUsageSummaryModel(client),
        resourceUtilizationDaily: new resourceUtilizationDaily_1.ResourceUtilizationDailyModel(client),
        resourcesHealth: new resourcesHealth_1.ResourcesHealthModel(client),
        resourcesRequirementsState: new resourcesRequirementsState_1.ResourcesRequirementsStateModel(client),
        resourcesResolvedRequirement: new resourcesResolvedRequirement_1.ResourcesResolvedRequirementModel(client),
        webhookEndpoint: new webhookEndpoint_1.WebhookEndpointModel(client),
        webhookEvent: new webhookEvent_1.WebhookEventModel(client),
        query: (0, query_1.createQueryOperations)(client),
        mutation: (0, mutation_1.createMutationOperations)(client),
    };
}
