import * as Nexus from '@nexus/schema'; import { CustomInputArg } from './builder'; import { DmmfDocument, DmmfTypes } from './dmmf'; import { Index } from './utils'; declare type NexusInputDef = Nexus.core.NexusInputObjectTypeDef | Nexus.core.NexusEnumTypeDef | Nexus.core.NexusScalarTypeDef | Nexus.core.NexusArgDef; export declare class Publisher { dmmf: DmmfDocument; nexusBuilder: Nexus.PluginBuilderLens; typesPublishing: Index; typesPublished: Index; inputsPublished: Index; fieldsPublished: Index; constructor(dmmf: DmmfDocument, nexusBuilder: Nexus.PluginBuilderLens); inputType(customArg: CustomInputArg): string | NexusInputDef; outputType(outputTypeName: string, field: DmmfTypes.SchemaField): any; protected publishObject(name: string): Nexus.core.NexusObjectTypeDef; protected publishScalar(typeName: string): string | Nexus.core.NexusScalarTypeDef; protected publishEnum(typeName: string): Nexus.core.NexusEnumTypeDef; publishInputObjectType(inputType: DmmfTypes.InputType): Nexus.core.NexusInputObjectTypeDef; getTypeFromArg(arg: DmmfTypes.SchemaArg): CustomInputArg['type']; getInputType(typeName: string): DmmfTypes.InputType; isPublished(typeName: string): boolean; isPublishing(typeName: string): boolean; publishField(field: DmmfTypes.SchemaField): void; getField(name: string): DmmfTypes.SchemaField; markAsPublishing(inputType: DmmfTypes.InputType): void; markTypeAsPublished(typeName: string): void; } export {}; //# sourceMappingURL=publisher.d.ts.map