import { type TypeNode } from 'graphql'; import { type FieldData } from '../../schema-building/types/types'; export declare enum DivergentType { NONE = 0, CURRENT = 1, OTHER = 2 } export type FederateTypeSuccess = { success: true; typeNode: TypeNode; }; export type FederateTypeFailure = { success: false; }; export type FederateTypeResult = FederateTypeSuccess | FederateTypeFailure; export type FederateTypeParams = { current: TypeNode; other: TypeNode; coords: string; mostRestrictive: boolean; }; export type GetMergedTypeFailure = { actualType: string; expectedType: string; success: false; }; export type GetMergedTypeSuccess = { success: true; typeNode: TypeNode; }; export type GetMergedTypeResult = GetMergedTypeFailure | GetMergedTypeSuccess; export declare function getLeastRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string, errors: Error[]): GetMergedTypeResult; export declare function getMostRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string, errors: Error[]): GetMergedTypeResult; export declare function renameNamedTypeName(fieldData: FieldData, newNamedTypeName: string, errors: Error[]): void;