import { type CompatibleTypes, type ExposeNullability, type FieldKind, type FieldRef, type InferredFieldOptionKeys, type InputFieldMap, type InterfaceParam, type NormalizeArgs, ObjectRef, type PluginName, type SchemaTypes, type ShapeFromTypeParam, type TypeParam } from '@pothos/core'; import type { PrismaRef } from './interface-ref'; import type { PrismaConnectionShape, PrismaModelTypes, RelatedConnectionOptions, RelatedFieldOptions, RelationCountOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types'; import type { FieldMap } from './util/relation-map'; declare const RootBuilder: { new (builder: PothosSchemaTypes.SchemaBuilder, kind: FieldKind, graphqlKind: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]): PothosSchemaTypes.RootFieldBuilder; }; type ContextForAuth = PothosSchemaTypes.ScopeAuthContextForAuth extends { Context: infer T; } ? T extends object ? T : object : object; type FieldAuthScopes = PothosSchemaTypes.ScopeAuthFieldAuthScopes extends { Scopes: infer T; } ? T : never; export declare class PrismaObjectFieldBuilder extends RootBuilder { model: string; prismaFieldMap: FieldMap; exposeBoolean: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Boolean" extends infer T ? T extends "Boolean" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][T] : T extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Boolean" extends infer T_1 ? T_1 extends "Boolean" ? T_1 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never : Nullable extends true ? ("Boolean" extends infer T_2 ? T_2 extends "Boolean" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Boolean" extends infer T_3 ? T_3 extends "Boolean" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never, "PrismaObject">; exposeFloat: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Float" extends infer T ? T extends "Float" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][T] : T extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Float" extends infer T_1 ? T_1 extends "Float" ? T_1 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never : Nullable extends true ? ("Float" extends infer T_2 ? T_2 extends "Float" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Float" extends infer T_3 ? T_3 extends "Float" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never, "PrismaObject">; exposeInt: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Int" extends infer T ? T extends "Int" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][T] : T extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Int" extends infer T_1 ? T_1 extends "Int" ? T_1 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never : Nullable extends true ? ("Int" extends infer T_2 ? T_2 extends "Int" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "Int" extends infer T_3 ? T_3 extends "Int" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never, "PrismaObject">; exposeID: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("ID" extends infer T ? T extends "ID" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][T] : T extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "ID" extends infer T_1 ? T_1 extends "ID" ? T_1 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never : Nullable extends true ? ("ID" extends infer T_2 ? T_2 extends "ID" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "ID" extends infer T_3 ? T_3 extends "ID" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never, "PrismaObject">; exposeString: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("String" extends infer T ? T extends "String" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][T] : T extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "String" extends infer T_1 ? T_1 extends "String" ? T_1 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never : Nullable extends true ? ("String" extends infer T_2 ? T_2 extends "String" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never) | null | undefined : "String" extends infer T_3 ? T_3 extends "String" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("@pothos/core").BaseEnum ? import("@pothos/core").ValuesFromEnum : never : never : never, "PrismaObject">; exposeBooleanList: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef, "PrismaObject">; exposeFloatList: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef, "PrismaObject">; exposeIntList: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef, "PrismaObject">; exposeIDList: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef, "PrismaObject">; exposeStringList: >(name: Name, ...args: NormalizeArgs<[options: ExposeNullability & Omit, "description" | "type" | "resolve" | "nullable" | "select"> & { description?: string | false; }], 0>) => FieldRef, "PrismaObject">; withAuth: 'scopeAuth' extends PluginName ? >>(scopes: Scopes) => PothosSchemaTypes.PrismaObjectFieldBuilder & { Context: ContextForAuth; }, Model, Shape> : '@pothos/plugin-scope-auth is required to use this method'; relatedConnection: 'relay' extends PluginName ? [] = [], const EdgeInterfaces extends InterfaceParam[] = [], Type = unknown, Shape = Type extends PrismaRef ? Type['$inferType'] : TypesForRelation['Shape']>(field: Field, options: RelatedConnectionOptions, ...args: NormalizeArgs<[ connectionOptions: ObjectRef>> | PothosSchemaTypes.ConnectionObjectOptions], Nullable>>, false, false, PrismaConnectionShape], Nullable>, Shape, Args>, ConnectionInterfaces>, edgeOptions: ObjectRef | PothosSchemaTypes.ConnectionEdgeObjectOptions], Nullable>>, false, PrismaConnectionShape], Nullable>, Shape, Args>, EdgeInterfaces> ], 0>) => FieldRef>> : '@pothos/plugin-relay is required to use this method'; typename: string; constructor(typename: string, builder: PothosSchemaTypes.SchemaBuilder, model: string, fieldMap: FieldMap, graphqlKind?: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]); relation(name: Field, ...allArgs: NormalizeArgs<[ options: RelatedFieldOptions ]>): FieldRef; relationCount(name: Field, ...allArgs: NormalizeArgs<[ options: RelationCountOptions['Where'], Args> ]>): FieldRef; variant, Args extends InputFieldMap, Nullable>(variant: Variant, ...allArgs: NormalizeArgs<[ options: VariantFieldOptions ? Variant : PrismaRef, Args, Nullable, Shape> ]>): FieldRef; expose, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes>(name: Name, ...args: NormalizeArgs<[ options: ExposeNullability & Omit, 'description' | 'nullable' | 'select' | InferredFieldOptionKeys> & { description?: string | false; } ]>): FieldRef, 'PrismaObject'>; private createExpose; } export {}; //# sourceMappingURL=prisma-field-builder.d.ts.map