import { AvoidOptionalsConfig, BaseTypesVisitor, DeclarationKind, ParsedTypesConfig } from '@graphql-codegen/visitor-plugin-common'; import { EnumTypeDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputValueDefinitionNode, ListTypeNode, NamedTypeNode, NonNullTypeNode, TypeDefinitionNode, UnionTypeDefinitionNode } from 'graphql'; import { TypeScriptPluginConfig } from './config.js'; export interface TypeScriptPluginParsedConfig extends ParsedTypesConfig { avoidOptionals: AvoidOptionalsConfig; constEnums: boolean; enumsAsTypes: boolean; futureProofEnums: boolean; futureProofUnions: boolean; enumsAsConst: boolean; numericEnums: boolean; onlyEnums: boolean; onlyOperationTypes: boolean; immutableTypes: boolean; maybeValue: string; inputMaybeValue: string; noExport: boolean; useImplementingTypes: boolean; } export declare const EXACT_SIGNATURE = "type Exact = { [K in keyof T]: T[K] };"; export declare const MAKE_OPTIONAL_SIGNATURE = "type MakeOptional = Omit & { [SubKey in K]?: Maybe };"; export declare const MAKE_MAYBE_SIGNATURE = "type MakeMaybe = Omit & { [SubKey in K]: Maybe };"; export declare const MAKE_EMPTY_SIGNATURE = "type MakeEmpty = { [_ in K]?: never };"; export declare const MAKE_INCREMENTAL_SIGNATURE = "type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };"; export declare class TsVisitor extends BaseTypesVisitor { constructor(schema: GraphQLSchema, pluginConfig: TRawConfig, additionalConfig?: Partial); protected _getTypeForNode(node: NamedTypeNode, isVisitingInputType: boolean): string; getWrapperDefinitions(): string[]; getExactDefinition(): string; getMakeOptionalDefinition(): string; getMakeMaybeDefinition(): string; getMakeEmptyDefinition(): string; getIncrementalDefinition(): string; getMaybeValue(): string; getInputMaybeValue(): string; protected clearOptional(str: string): string; protected getExportPrefix(): string; getMaybeWrapper(ancestors: any): string; NamedType(node: NamedTypeNode, key: any, parent: any, path: any, ancestors: any): string; ListType(node: ListTypeNode, key: any, parent: any, path: any, ancestors: any): string; UnionTypeDefinition(node: UnionTypeDefinitionNode, key: string | number | undefined, parent: any): string; protected wrapWithListType(str: string): string; NonNullType(node: NonNullTypeNode): string; FieldDefinition(node: FieldDefinitionNode, key?: number | string, parent?: any): string; InputValueDefinition(node: InputValueDefinitionNode, key?: number | string, parent?: any, _path?: Array, ancestors?: Array): string; EnumTypeDefinition(node: EnumTypeDefinitionNode): string; protected getPunctuation(_declarationKind: DeclarationKind): string; }