/**
 * ORM Client - createClient factory
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
import { OrmClient } from './client';
import { DefaultIdsModuleModel } from './models/defaultIdsModule';
import { MembershipTypesModuleModel } from './models/membershipTypesModule';
import { SessionSecretsModuleModel } from './models/sessionSecretsModule';
import { DevicesModuleModel } from './models/devicesModule';
import { I18NModuleModel } from './models/i18NModule';
import { UserSettingsModuleModel } from './models/userSettingsModule';
import { UserStateModuleModel } from './models/userStateModule';
import { UserCredentialsModuleModel } from './models/userCredentialsModule';
import { ConnectedAccountsModuleModel } from './models/connectedAccountsModule';
import { EmailsModuleModel } from './models/emailsModule';
import { PhoneNumbersModuleModel } from './models/phoneNumbersModule';
import { RateLimitsModuleModel } from './models/rateLimitsModule';
import { UsersModuleModel } from './models/usersModule';
import { WebauthnCredentialsModuleModel } from './models/webauthnCredentialsModule';
import { ConfigSecretsUserModuleModel } from './models/configSecretsUserModule';
import { CryptoAddressesModuleModel } from './models/cryptoAddressesModule';
import { DenormalizedTableFieldModel } from './models/denormalizedTableField';
import { RlsModuleModel } from './models/rlsModule';
import { BlueprintModel } from './models/blueprint';
import { BlueprintTemplateModel } from './models/blueprintTemplate';
import { BlueprintConstructionModel } from './models/blueprintConstruction';
import { CryptoAuthModuleModel } from './models/cryptoAuthModule';
import { SessionsModuleModel } from './models/sessionsModule';
import { SecureTableProvisionModel } from './models/secureTableProvision';
import { IdentityProvidersModuleModel } from './models/identityProvidersModule';
import { IntegrationProvidersModuleModel } from './models/integrationProvidersModule';
import { DbPoolConfigModel } from './models/dbPoolConfig';
import { RealtimeModuleModel } from './models/realtimeModule';
import { InfraSecretsModuleModel } from './models/infraSecretsModule';
import { InternalSecretsModuleModel } from './models/internalSecretsModule';
import { DbPresetModuleModel } from './models/dbPresetModule';
import { GraphModuleModel } from './models/graphModule';
import { RateLimitMetersModuleModel } from './models/rateLimitMetersModule';
import { InfraConfigModuleModel } from './models/infraConfigModule';
import { WebauthnAuthModuleModel } from './models/webauthnAuthModule';
import { PrincipalAuthModuleModel } from './models/principalAuthModule';
import { DbPoolModel } from './models/dbPool';
import { FunctionModuleModel } from './models/functionModule';
import { MerkleStoreModuleModel } from './models/merkleStoreModule';
import { DatabaseProvisionModuleModel } from './models/databaseProvisionModule';
import { FunctionInvocationModuleModel } from './models/functionInvocationModule';
import { InvitesModuleModel } from './models/invitesModule';
import { NamespaceModuleModel } from './models/namespaceModule';
import { PlansModuleModel } from './models/plansModule';
import { ComputeLogModuleModel } from './models/computeLogModule';
import { InferenceLogModuleModel } from './models/inferenceLogModule';
import { StorageLogModuleModel } from './models/storageLogModule';
import { TransferLogModuleModel } from './models/transferLogModule';
import { BillingProviderModuleModel } from './models/billingProviderModule';
import { FunctionDeploymentModuleModel } from './models/functionDeploymentModule';
import { PermissionsModuleModel } from './models/permissionsModule';
import { GraphExecutionModuleModel } from './models/graphExecutionModule';
import { HierarchyModuleModel } from './models/hierarchyModule';
import { NotificationsModuleModel } from './models/notificationsModule';
import { RelationProvisionModel } from './models/relationProvision';
import { ProfilesModuleModel } from './models/profilesModule';
import { BillingModuleModel } from './models/billingModule';
import { ResourceModuleModel } from './models/resourceModule';
import { UserAuthModuleModel } from './models/userAuthModule';
import { DbUsageModuleModel } from './models/dbUsageModule';
import { AgentModuleModel } from './models/agentModule';
import { LimitsModuleModel } from './models/limitsModule';
import { EntityTypeProvisionModel } from './models/entityTypeProvision';
import { StorageModuleModel } from './models/storageModule';
import { MembershipsModuleModel } from './models/membershipsModule';
import { EventsModuleModel } from './models/eventsModule';
import { createQueryOperations } from './query';
import { createMutationOperations } from './mutation';
export { GraphQLRequestError, FetchAdapter } from './client';
export { QueryBuilder } from './query-builder';
export * from './select-types';
export * from './models';
export { createQueryOperations } from './query';
export { createMutationOperations } from './mutation';
/**
 * 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();
 * ```
 */
export function createClient(config) {
    const client = new OrmClient(config);
    return {
        defaultIdsModule: new DefaultIdsModuleModel(client),
        membershipTypesModule: new MembershipTypesModuleModel(client),
        sessionSecretsModule: new SessionSecretsModuleModel(client),
        devicesModule: new DevicesModuleModel(client),
        i18NModule: new I18NModuleModel(client),
        userSettingsModule: new UserSettingsModuleModel(client),
        userStateModule: new UserStateModuleModel(client),
        userCredentialsModule: new UserCredentialsModuleModel(client),
        connectedAccountsModule: new ConnectedAccountsModuleModel(client),
        emailsModule: new EmailsModuleModel(client),
        phoneNumbersModule: new PhoneNumbersModuleModel(client),
        rateLimitsModule: new RateLimitsModuleModel(client),
        usersModule: new UsersModuleModel(client),
        webauthnCredentialsModule: new WebauthnCredentialsModuleModel(client),
        configSecretsUserModule: new ConfigSecretsUserModuleModel(client),
        cryptoAddressesModule: new CryptoAddressesModuleModel(client),
        denormalizedTableField: new DenormalizedTableFieldModel(client),
        rlsModule: new RlsModuleModel(client),
        blueprint: new BlueprintModel(client),
        blueprintTemplate: new BlueprintTemplateModel(client),
        blueprintConstruction: new BlueprintConstructionModel(client),
        cryptoAuthModule: new CryptoAuthModuleModel(client),
        sessionsModule: new SessionsModuleModel(client),
        secureTableProvision: new SecureTableProvisionModel(client),
        identityProvidersModule: new IdentityProvidersModuleModel(client),
        integrationProvidersModule: new IntegrationProvidersModuleModel(client),
        dbPoolConfig: new DbPoolConfigModel(client),
        realtimeModule: new RealtimeModuleModel(client),
        infraSecretsModule: new InfraSecretsModuleModel(client),
        internalSecretsModule: new InternalSecretsModuleModel(client),
        dbPresetModule: new DbPresetModuleModel(client),
        graphModule: new GraphModuleModel(client),
        rateLimitMetersModule: new RateLimitMetersModuleModel(client),
        infraConfigModule: new InfraConfigModuleModel(client),
        webauthnAuthModule: new WebauthnAuthModuleModel(client),
        principalAuthModule: new PrincipalAuthModuleModel(client),
        dbPool: new DbPoolModel(client),
        functionModule: new FunctionModuleModel(client),
        merkleStoreModule: new MerkleStoreModuleModel(client),
        databaseProvisionModule: new DatabaseProvisionModuleModel(client),
        functionInvocationModule: new FunctionInvocationModuleModel(client),
        invitesModule: new InvitesModuleModel(client),
        namespaceModule: new NamespaceModuleModel(client),
        plansModule: new PlansModuleModel(client),
        computeLogModule: new ComputeLogModuleModel(client),
        inferenceLogModule: new InferenceLogModuleModel(client),
        storageLogModule: new StorageLogModuleModel(client),
        transferLogModule: new TransferLogModuleModel(client),
        billingProviderModule: new BillingProviderModuleModel(client),
        functionDeploymentModule: new FunctionDeploymentModuleModel(client),
        permissionsModule: new PermissionsModuleModel(client),
        graphExecutionModule: new GraphExecutionModuleModel(client),
        hierarchyModule: new HierarchyModuleModel(client),
        notificationsModule: new NotificationsModuleModel(client),
        relationProvision: new RelationProvisionModel(client),
        profilesModule: new ProfilesModuleModel(client),
        billingModule: new BillingModuleModel(client),
        resourceModule: new ResourceModuleModel(client),
        userAuthModule: new UserAuthModuleModel(client),
        dbUsageModule: new DbUsageModuleModel(client),
        agentModule: new AgentModuleModel(client),
        limitsModule: new LimitsModuleModel(client),
        entityTypeProvision: new EntityTypeProvisionModel(client),
        storageModule: new StorageModuleModel(client),
        membershipsModule: new MembershipsModuleModel(client),
        eventsModule: new EventsModuleModel(client),
        query: createQueryOperations(client),
        mutation: createMutationOperations(client),
    };
}
