import type { OrmClientConfig } from './client';
import { FunctionModel } from './models/function';
import { SchemaModel } from './models/schema';
import { TableModel } from './models/table';
import { CheckConstraintModel } from './models/checkConstraint';
import { FieldModel } from './models/field';
import { SpatialRelationModel } from './models/spatialRelation';
import { ForeignKeyConstraintModel } from './models/foreignKeyConstraint';
import { FullTextSearchModel } from './models/fullTextSearch';
import { IndexModel } from './models/index';
import { PolicyModel } from './models/policy';
import { PrimaryKeyConstraintModel } from './models/primaryKeyConstraint';
import { TableGrantModel } from './models/tableGrant';
import { TriggerModel } from './models/trigger';
import { UniqueConstraintModel } from './models/uniqueConstraint';
import { ViewModel } from './models/view';
import { ViewTableModel } from './models/viewTable';
import { ViewGrantModel } from './models/viewGrant';
import { ViewRuleModel } from './models/viewRule';
import { EmbeddingChunkModel } from './models/embeddingChunk';
import { SchemaGrantModel } from './models/schemaGrant';
import { DefaultPrivilegeModel } from './models/defaultPrivilege';
import { EnumModel } from './models/enum';
import { CompositeTypeModel } from './models/compositeType';
import { ApiSchemaModel } from './models/apiSchema';
import { ApiModuleModel } from './models/apiModule';
import { DomainModel } from './models/domain';
import { SiteMetadatumModel } from './models/siteMetadatum';
import { SiteModuleModel } from './models/siteModule';
import { SiteThemeModel } from './models/siteTheme';
import { CorsSettingModel } from './models/corsSetting';
import { TriggerFunctionModel } from './models/triggerFunction';
import { PartitionModel } from './models/partition';
import { DatabaseTransferModel } from './models/databaseTransfer';
import { ApiModel } from './models/api';
import { SiteModel } from './models/site';
import { AppModel } from './models/app';
import { ApiSettingModel } from './models/apiSetting';
import { MigrateFileModel } from './models/migrateFile';
import { NodeTypeRegistryModel } from './models/nodeTypeRegistry';
import { PubkeySettingModel } from './models/pubkeySetting';
import { DatabaseModel } from './models/database';
import { RlsSettingModel } from './models/rlsSetting';
import { SqlActionModel } from './models/sqlAction';
import { DatabaseSettingModel } from './models/databaseSetting';
import { AstMigrationModel } from './models/astMigration';
import { WebauthnSettingModel } from './models/webauthnSetting';
export type { OrmClientConfig, QueryResult, GraphQLError, GraphQLAdapter } from './client';
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 declare function createClient(config: OrmClientConfig): {
    function: FunctionModel;
    schema: SchemaModel;
    table: TableModel;
    checkConstraint: CheckConstraintModel;
    field: FieldModel;
    spatialRelation: SpatialRelationModel;
    foreignKeyConstraint: ForeignKeyConstraintModel;
    fullTextSearch: FullTextSearchModel;
    index: IndexModel;
    policy: PolicyModel;
    primaryKeyConstraint: PrimaryKeyConstraintModel;
    tableGrant: TableGrantModel;
    trigger: TriggerModel;
    uniqueConstraint: UniqueConstraintModel;
    view: ViewModel;
    viewTable: ViewTableModel;
    viewGrant: ViewGrantModel;
    viewRule: ViewRuleModel;
    embeddingChunk: EmbeddingChunkModel;
    schemaGrant: SchemaGrantModel;
    defaultPrivilege: DefaultPrivilegeModel;
    enum: EnumModel;
    compositeType: CompositeTypeModel;
    apiSchema: ApiSchemaModel;
    apiModule: ApiModuleModel;
    domain: DomainModel;
    siteMetadatum: SiteMetadatumModel;
    siteModule: SiteModuleModel;
    siteTheme: SiteThemeModel;
    corsSetting: CorsSettingModel;
    triggerFunction: TriggerFunctionModel;
    partition: PartitionModel;
    databaseTransfer: DatabaseTransferModel;
    api: ApiModel;
    site: SiteModel;
    app: AppModel;
    apiSetting: ApiSettingModel;
    migrateFile: MigrateFileModel;
    nodeTypeRegistry: NodeTypeRegistryModel;
    pubkeySetting: PubkeySettingModel;
    database: DatabaseModel;
    rlsSetting: RlsSettingModel;
    sqlAction: SqlActionModel;
    databaseSetting: DatabaseSettingModel;
    astMigration: AstMigrationModel;
    webauthnSetting: WebauthnSettingModel;
    query: {
        applyRegistryDefaults: (args: import("./query").ApplyRegistryDefaultsVariables, options?: {
            select?: Record<string, unknown>;
        }) => import("./query-builder").QueryBuilder<{
            applyRegistryDefaults: unknown | null;
        }>;
    };
    mutation: {
        acceptDatabaseTransfer: <S extends import("./input-types").AcceptDatabaseTransferPayloadSelect>(args: import("./mutation").AcceptDatabaseTransferVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").AcceptDatabaseTransferPayloadSelect>) => import("./query-builder").QueryBuilder<{
            acceptDatabaseTransfer: import("./select-types").InferSelectResult<import("./input-types").AcceptDatabaseTransferPayload, S> | null;
        }>;
        cancelDatabaseTransfer: <S extends import("./input-types").CancelDatabaseTransferPayloadSelect>(args: import("./mutation").CancelDatabaseTransferVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").CancelDatabaseTransferPayloadSelect>) => import("./query-builder").QueryBuilder<{
            cancelDatabaseTransfer: import("./select-types").InferSelectResult<import("./input-types").CancelDatabaseTransferPayload, S> | null;
        }>;
        rejectDatabaseTransfer: <S extends import("./input-types").RejectDatabaseTransferPayloadSelect>(args: import("./mutation").RejectDatabaseTransferVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").RejectDatabaseTransferPayloadSelect>) => import("./query-builder").QueryBuilder<{
            rejectDatabaseTransfer: import("./select-types").InferSelectResult<import("./input-types").RejectDatabaseTransferPayload, S> | null;
        }>;
        setFieldOrder: <S extends import("./input-types").SetFieldOrderPayloadSelect>(args: import("./mutation").SetFieldOrderVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").SetFieldOrderPayloadSelect>) => import("./query-builder").QueryBuilder<{
            setFieldOrder: import("./select-types").InferSelectResult<import("./input-types").SetFieldOrderPayload, S> | null;
        }>;
        applyRls: <S extends import("./input-types").ApplyRlsPayloadSelect>(args: import("./mutation").ApplyRlsVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").ApplyRlsPayloadSelect>) => import("./query-builder").QueryBuilder<{
            applyRls: import("./select-types").InferSelectResult<import("./input-types").ApplyRlsPayload, S> | null;
        }>;
        requestDatabase: <S extends import("./input-types").RequestDatabasePayloadSelect>(args: import("./mutation").RequestDatabaseVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").RequestDatabasePayloadSelect>) => import("./query-builder").QueryBuilder<{
            requestDatabase: import("./select-types").InferSelectResult<import("./input-types").RequestDatabasePayload, S> | null;
        }>;
        provisionBucket: <S extends import("./input-types").ProvisionBucketPayloadSelect>(args: import("./mutation").ProvisionBucketVariables, options: {
            select: S;
        } & import("./select-types").StrictSelect<S, import("./input-types").ProvisionBucketPayloadSelect>) => import("./query-builder").QueryBuilder<{
            provisionBucket: import("./select-types").InferSelectResult<import("./input-types").ProvisionBucketPayload, S> | null;
        }>;
    };
};
