import { GraphQLScalarType } from './graphql'; import type { GraphQLScalarTypeConfig, GraphQLScalarSerializer, GraphQLScalarValueParser, GraphQLScalarLiteralParser } from './graphql'; import type { TypeAsString } from './TypeMapper'; import { SchemaComposer } from './SchemaComposer'; import { ListComposer } from './ListComposer'; import { NonNullComposer } from './NonNullComposer'; import type { Extensions, Directive, DirectiveArgs } from './utils/definitions'; import { SchemaPrinterOptions } from './utils/schemaPrinter'; export declare type ScalarTypeComposerDefinition = TypeAsString | Readonly> | Readonly; export declare type ScalarTypeComposerAsObjectDefinition = GraphQLScalarTypeConfig & { extensions?: Extensions; directives?: Directive[]; }; export declare class ScalarTypeComposer { schemaComposer: SchemaComposer; _gqType: GraphQLScalarType; _gqcExtensions: Extensions | undefined; _gqcDirectives: Directive[] | undefined; _gqcIsModified?: boolean; _gqcSerialize: GraphQLScalarSerializer; _gqcParseValue: GraphQLScalarValueParser; _gqcParseLiteral: GraphQLScalarLiteralParser; static create(typeDef: ScalarTypeComposerDefinition, schemaComposer: SchemaComposer): ScalarTypeComposer; static createTemp(typeDef: ScalarTypeComposerDefinition, schemaComposer?: SchemaComposer): ScalarTypeComposer; constructor(graphqlType: GraphQLScalarType, schemaComposer: SchemaComposer); setSerialize(fn: GraphQLScalarSerializer): this; getSerialize(): GraphQLScalarSerializer; setParseValue(fn: GraphQLScalarValueParser | undefined): this; getParseValue(): GraphQLScalarValueParser | undefined; setParseLiteral(fn: GraphQLScalarLiteralParser | undefined): this; getParseLiteral(): GraphQLScalarLiteralParser | undefined; getType(): GraphQLScalarType; getTypePlural(): ListComposer>; getTypeNonNull(): NonNullComposer>; get List(): ListComposer>; get NonNull(): NonNullComposer>; getTypeName(): string; setTypeName(name: string): this; getDescription(): string; setDescription(description: string): this; getSpecifiedByUrl(): string | undefined | null; setSpecifiedByUrl(url: string | undefined | null): this; clone(newTypeNameOrTC: string | ScalarTypeComposer): ScalarTypeComposer; cloneTo(anotherSchemaComposer: SchemaComposer, cloneMap?: Map): ScalarTypeComposer; merge(type: GraphQLScalarType | ScalarTypeComposer): ScalarTypeComposer; getExtensions(): Extensions; setExtensions(extensions: Extensions | undefined | null): this; extendExtensions(extensions: Extensions): this; clearExtensions(): this; getExtension(extensionName: string): unknown; hasExtension(extensionName: string): boolean; setExtension(extensionName: string, value: unknown): this; removeExtension(extensionName: string): this; getDirectives(): Array; setDirectives(directives: Array): this; getDirectiveNames(): string[]; getDirectiveByName(directiveName: string): DirectiveArgs | undefined; setDirectiveByName(directiveName: string, args?: DirectiveArgs): this; getDirectiveById(idx: number): DirectiveArgs | undefined; toSDL(opts?: SchemaPrinterOptions): string; } //# sourceMappingURL=ScalarTypeComposer.d.ts.map