import type { ConstValueNode, FieldDefinitionNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InputValueDefinitionNode, NameNode, TypeNode } from 'graphql';
import type { ValidationSchemaPluginConfig } from './config.js';
import type { Visitor } from './visitor.js';
export declare const anySchema = "definedNonNullAnySchema";
export declare function generateFieldZodSchema(config: ValidationSchemaPluginConfig, visitor: Visitor, field: InputValueDefinitionNode | FieldDefinitionNode, indentCount: number, depthVariable?: string): string;
export declare function generateFieldTypeZodSchema(config: ValidationSchemaPluginConfig, visitor: Visitor, field: InputValueDefinitionNode | FieldDefinitionNode, type: TypeNode, parentType?: TypeNode, isRoot?: boolean, forceRequired?: boolean, depthVariable?: string): string;
export declare function isOneOfInputObject(node: InputObjectTypeDefinitionNode): boolean;
export declare function buildObjectExpression(config: ValidationSchemaPluginConfig, shape: string | undefined, description?: string): string;
export declare function buildObjectReturn(config: ValidationSchemaPluginConfig, shape: string | undefined, description?: string): string;
export declare function strictObjectSuffix(config: ValidationSchemaPluginConfig): string;
export declare function descriptionSuffix(config: ValidationSchemaPluginConfig, description: string | undefined): string;
export declare function withTypeDescription(config: ValidationSchemaPluginConfig, description: string | undefined, gen: string): string;
export declare function zodOptionalType(config: ValidationSchemaPluginConfig): string;
export declare function withNullDefault(config: ValidationSchemaPluginConfig, gen: string): string;
export declare function schemaDepthVariable(config: ValidationSchemaPluginConfig): string | undefined;
export declare function schemaDepthParameter(config: ValidationSchemaPluginConfig): string;
export declare function withDescription(config: ValidationSchemaPluginConfig, field: InputValueDefinitionNode | FieldDefinitionNode, gen: string): string;
export declare function applyDefaultValue(config: ValidationSchemaPluginConfig, visitor: Visitor, field: InputValueDefinitionNode | FieldDefinitionNode, type: TypeNode, gen: string): string;
export declare function defaultValueExpression(config: ValidationSchemaPluginConfig, visitor: Visitor, type: TypeNode, value: ConstValueNode): string;
export declare function hasNullDefault(field: InputValueDefinitionNode | FieldDefinitionNode): boolean;
export declare function inputObjectFields(astNode: InputObjectTypeDefinitionNode, extensionASTNodes: readonly InputObjectTypeExtensionNode[] | undefined): InputValueDefinitionNode[];
export declare function enumDefaultTypeName(visitor: Visitor, type: TypeNode): string;
export declare function enumDefaultValueName(config: ValidationSchemaPluginConfig, value: string): string;
export declare function applyDirectives(config: ValidationSchemaPluginConfig, field: InputValueDefinitionNode | FieldDefinitionNode, gen: string): string;
export declare function generateNameNodeZodSchema(config: ValidationSchemaPluginConfig, visitor: Visitor, node: NameNode, depthVariable?: string): string;
export declare function maybeLazy(visitor: Visitor, type: TypeNode, schema: string): string;
export declare function zod4Scalar(config: ValidationSchemaPluginConfig, visitor: Visitor, scalarName: string): string;
export declare function unionLiterals(values: string[]): string;
