| import type { GraphQLCompositeType, GraphQLType } from '../type/definition'; |
| import type { GraphQLSchema } from '../type/schema'; |
| /** |
| * Provided two types, return true if the types are equal (invariant). |
| */ |
| export declare function isEqualType( |
| typeA: GraphQLType, |
| typeB: GraphQLType, |
| ): boolean; |
| /** |
| * Provided a type and a super type, return true if the first type is either |
| * equal or a subset of the second super type (covariant). |
| */ |
| export declare function isTypeSubTypeOf( |
| schema: GraphQLSchema, |
| maybeSubType: GraphQLType, |
| superType: GraphQLType, |
| ): boolean; |
| /** |
| * Provided two composite types, determine if they "overlap". Two composite |
| * types overlap when the Sets of possible concrete types for each intersect. |
| * |
| * This is often used to determine if a fragment of a given type could possibly |
| * be visited in a context of another type. |
| * |
| * This function is commutative. |
| */ |
| export declare function doTypesOverlap( |
| schema: GraphQLSchema, |
| typeA: GraphQLCompositeType, |
| typeB: GraphQLCompositeType, |
| ): boolean; |