import { type Warning } from '../warnings/types'; import { type DirectiveDefinitionNode, type DocumentNode, type GraphQLSchema, type OperationTypeNode, type SchemaDefinitionNode, type SchemaExtensionNode } from 'graphql'; import { type ConfigurationData, type Costs } from '../router-configuration/types'; import { type AuthorizationData, type ConditionalFieldData, type EntityData, type EntityInterfaceSubgraphData, type ParentDefinitionData } from '../schema-building/types/types'; import { type Graph } from '../resolvability-graph/graph'; import { type InternalSubgraph } from '../subgraph/types'; import { type AbstractTypeName, type DirectiveName, type FieldName, type InterfaceTypeName, type SubgraphName, type TypeName } from '../types/types'; import { type ExecutionMultiFailure } from '../types/results'; import { type LinkImportData } from '../v1/normalization/types/types'; import { type DirectiveDefinitionData } from '../directive-definition-data/types/types'; export interface NormalizationFailure extends ExecutionMultiFailure { warnings: Array; } export type NormalizationSuccess = { authorizationDataByParentTypeName: Map; concreteTypeNamesByAbstractTypeName: Map>; conditionalFieldDataByCoordinates: Map; configurationDataByTypeName: Map; costs: Costs; directiveDefinitionByName: Map; entityInterfaces: Map; entityDataByTypeName: Map; federatedDirectiveDataByName: Map; fieldCoordsByNamedTypeName: Map>; importDataByDirectiveName: Map; interfaceImplementationTypeNamesByInterfaceTypeName: Map>; isEventDrivenGraph: boolean; isVersionTwo: boolean; keyFieldNamesByParentTypeName: Map>; keyFieldSetsByEntityTypeNameByKeyFieldCoords: Map>>; operationTypes: Map; originalTypeNameByRenamedTypeName: Map; overriddenFieldNamesByParentTypeNameByTargetSubgraphName: Map>>; parentDefinitionDataByTypeName: Map; schema: GraphQLSchema; subgraphAST: DocumentNode; subgraphString: string; success: true; warnings: Array; schemaNode?: SchemaDefinitionNode | SchemaExtensionNode; }; export type NormalizationResult = NormalizationFailure | NormalizationSuccess; export interface BatchNormalizationFailure extends ExecutionMultiFailure { errors: Array; warnings: Array; } export type BatchNormalizationSuccess = { success: true; authorizationDataByParentTypeName: Map; concreteTypeNamesByAbstractTypeName: Map>; entityDataByTypeName: Map; executableDirectiveDatasByName: Map>; federatedDirectiveDataByName: Map; fieldCoordsByNamedTypeName: Map>; interfaceImplementationTypeNamesByInterfaceTypeName: Map>; internalGraph: Graph; internalSubgraphByName: Map; warnings: Array; }; export type BatchNormalizationResult = BatchNormalizationFailure | BatchNormalizationSuccess;