import { type DocumentNode, type GraphQLSchema } from 'graphql';
/**
 * Recursively adds __typename to every selection set whose parent type is
 * abstract (union or interface), or whose parent type is a concrete object
 * type that implements an abstract type (i.e. it appears as a possible type
 * of some interface or union in the schema).
 *
 * Requires the schema so it can resolve field return types as it walks the
 * document tree.
 */
export declare function addTypenames(document: DocumentNode, schema: GraphQLSchema): DocumentNode;
//# sourceMappingURL=add-typenames.d.ts.map